На данный момент я вижу две основные проблемы:
- Вы не форматируете URL для учета пробелов и других недружественных символов.
- Вы используетеPOST вместо GET
Как и в случае с номером один, описанным выше, вы можете сделать это вручную или обрабатывать его с помощью URI-класса java .
* 1012.* Что касается второго, выше, вы также используете неправильный метод для вызова URL.Вы должны использовать
HttpGet вместо HttpPost.
Вы можете проверить это с помощью curl:
curl -X POST 'http://maps.google.com/maps/api/geocode/json?address=1600%20Pennsylvania%20Ave%20NW,%20Washington,%20DC&sensor=false'
Вызов POST, приведенный выше, выдаст вам ошибку, где метод GET не будет:
curl -X GET 'http://maps.google.com/maps/api/geocode/json?address=1600%20Pennsylvania%20Ave%20NW,%20Washington,%20DC&sensor=false'
Кроме того, вместо использования строителя строк для чтения содержимого тела я нахожу использование собственного класса IOUtil в * apache более простым и понятным.
StringWriter writer = new StringWriter();
IOUtils.copy(response.getEntity().getContent(), writer);
Однако вам придется импортироватьбиблиотека.
Наконец, убедитесь, что вы дали интернет-разрешение в своем манифесте.