【发布时间】:2012-05-09 12:51:06
【问题描述】:
我在这里遇到了一个奇怪的问题,
当我从 web 浏览器或 java 命令行在 url 下运行时
我得到以下结果。
{
"destination_addresses" : [ "Storås Industrigata 20, 424 69
Angered, Sweden" ],
"origin_addresses" : [ "Gothenburg, Sweden" ],
"rows" : [
{
"elements" : [
{
"distance" : {
"text" : "10.4 km",
"value" : 10388
},
"duration" : {
"text" : "15 mins",
"value" : 924
},
"status" : "OK"
}
]
}
],
"status" : "OK"
}
但是当我从 glassfish 服务器运行相同的 url 时,我的意思是发送一个 http请求来自 表单提交我得到以下奇怪的响应
{ "destination_addresses" : [ "" ],
"origin_addresses" : [ "Gothenburg, Sweden" ],
"rows" : [
{
"elements" : [
{
"status" : "NOT_FOUND"
}
]
}
],
"status" : "OK"
}
请不要在这种情况下destination_addresses 为空并且状态为 NOT_FOUND。
我用来获取响应的Java代码是
private String getResponse(String URL) throws Exception {
InputStream stream = new URL(URL).openStream();
byte[] array = new byte[stream.available()];
stream.read(array);
return new String(array);
}
请指导我解决这个问题,
谢谢....
【问题讨论】:
-
向我们展示您的代码,最好是SSCCE。 Stack Overflow is not a Mind Reader or Crystal Ball.
-
我已经编辑了这个问题,奇怪的是,当我通过类中的 main 方法运行时,代码给出了预期的结果,但是当我使用 html 表单提交运行相同的方法时(假设在 servlet ) 响应为 NOT_FOUND
-
问题显然是您在 servlet 中实际使用的 URL。我的钱是在您从表单请求中获得它之后没有正确编码。添加一些日志记录,调试您的 servlet。
-
你没有抓住重点。您认为正在使用的网址没有因为它没有正确编码。
标签: java google-maps google-maps-api-3 distance