0

Ich habe solche 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} und in brovser zählt es distanzieren richtig:org.apache.http.client.fluent korrumpiert URL

{ 
    "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" 
} 

aber wenn ich org.apache.http.client.fluent .request:

String req = Request.Get(uri).execute().handleResponse(UTF8_CONTENT_HANDLER); 

Nach Ausführen dieses Code i solches Ergebnis haben:

{ 
    "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" 
} 

Was mache ich falsch?

+0

Wenn ich auf den Link in Chrome klicke, bekomme ich die gleiche Antwort wie mit HttpClient. Ich bezweifle, dass dieses Problem etwas mit HttpClient zu tun hat. Erfassen Sie mit Ihrem Browser übertragene Pakete, vergleichen Sie diese mit den von HttpClient generierten Paketen und passen Sie Ihren Code entsprechend an – oleg

Antwort

1

Das Problem wurde nicht durch Apache Http Client verursacht. Google benötigt eine explizite Lokalisierung. Wahrscheinlich für englische Lokalisierung funktioniert es immer standardmäßig. Wenn Sie &language=ru an URL anhängen, wird es ordnungsgemäß funktionieren.

Verwandte Themen