org.apache.http.client.fluent破坏URL [英] org.apache.http.client.fluent corrupts URL
问题描述
我有这样的网址
{
destination_addresses:[ул。Курчатова8,Минск,Беларусь],
origin_addresses:[
ул。АкадемикаКупревича1/2,Минск220141,Беларусь
,
rows:[
{
elements:[
{
distance:{
text :24,5км,
价值:24526
},
持续时间:{
text:20
value:1196
},
status:OK
}
]
}
] ,
status:OK
}
但是当我使用org.apache.http.client.fluent.Request:
pre $ String $ req = Request.Get(uri).execute()。用handleResponse(UTF8_CONTENT_HANDLER);
执行此代码后,我得到了这样的结果:
{
destination_addresses:[白俄罗斯明斯克],
origin_addresses:[白俄罗斯明斯克],
行:[
{
elements:[
{
distance:{
text:1 m,
值:0
},
duration:{
text:1 min,
value:0
},
status:OK
}
]
}
],
status:OK
}
我在做什么错?
& language = ru
附加到网址,它将正常工作。 I have such URL https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins=Belarus,Minsk,Kuprevicha,1/2&destinations=Belarus,Minsk,Kurchatova,8&key={API_key} and in brovser it counts distance correctly:
{
"destination_addresses" : [ "ул. Курчатова 8, Минск, Беларусь" ],
"origin_addresses" : [
"ул. Академика Купревича 1/2, Минск 220141, Беларусь"
],
"rows" : [
{
"elements" : [
{
"distance" : {
"text" : "24,5 км",
"value" : 24526
},
"duration" : {
"text" : "20 мин.",
"value" : 1196
},
"status" : "OK"
}
]
}
],
"status" : "OK"
}
but when I use org.apache.http.client.fluent.Request:
String req = Request.Get(uri).execute().handleResponse(UTF8_CONTENT_HANDLER);
After executing this code i have such result:
{
"destination_addresses" : [ "Minsk, Belarus" ],
"origin_addresses" : [ "Minsk, Belarus" ],
"rows" : [
{
"elements" : [
{
"distance" : {
"text" : "1 m",
"value" : 0
},
"duration" : {
"text" : "1 min",
"value" : 0
},
"status" : "OK"
}
]
}
],
"status" : "OK"
}
What am I doing wrong?
The problem was not occused by apache Http Client. Google requires specify localiztion explicitely. Probaly for english localization it always works by default. If you append &language=ru
to url, it will work correctly.
这篇关于org.apache.http.client.fluent破坏URL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!