gpt4 book ai didi

Java:URI 中的非法字符

转载 作者:可可西里 更新时间:2023-11-01 16:52:28 26 4
gpt4 key购买 nike

我尝试使用此源代码请求 googles geo api

client = new DefaultHttpClient();
HttpGet get=new HttpGet(uri);
try {
HttpResponse response = client.execute(get);
int statusCode = response.getStatusLine().getStatusCode();
if (statusCode == 200 ){
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();
try {
XMLReader parser = XMLReaderFactory.createXMLReader();
parser.setContentHandler(gh);
parser.parse(new InputSource(is));
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
}
}
} catch (IOException e) {
e.printStackTrace();
}

URI是这样的吗 http://maps.googleapis.com:80/maps/api/geocode/xml?address =Königstraße, Berlin&sensor=false

抛出异常:非法字符!

如何转义 ä,ü,ö,ß 和空格?我尝试使用 ISO-8859-1 作为编码的 java.net.URLEncoder 但没有成功:(

问候伊戈尔

最佳答案

您需要使用 UTF-8 对单个请求参数值进行 URL 编码,而不是整个 URL,也不需要使用 ISO-8859-1。

String url = "http://maps.googleapis.com:80/maps/api/geocode/xml"
+ "?address=" + URLEncoder.encode("Königstraße, Berlin", "UTF-8")
+ "&sensor=false";

关于Java:URI 中的非法字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10488341/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com