Отправьте запрос в API геокодирования Google с терминала - PullRequest
0 голосов
/ 20 декабря 2011

Я пытаюсь геокодировать много данных. У меня много машин, на которых можно распределить нагрузку (чтобы не обрабатывать 2500 запросов на IP-адрес в день). Я использую скрипт для выполнения запросов с помощью wget или cURL. Однако и wget, и cURL выдают одно и то же сообщение «запрос отклонен». При этом, когда я делаю запрос из моего браузера, он работает отлично. Пример запроса:

wget http://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true

И в результате получается:

    [1] 93930
05:00 PM ~: --2011-12-19 17:00:25--  http://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA
Resolving maps.googleapis.com... 72.14.204.95
Connecting to maps.googleapis.com|72.14.204.95|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/json]
Saving to: `json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA'

    [ <=>                                   ] 54          --.-K/s   in 0s      

2011-12-19 17:00:25 (1.32 MB/s) - `json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA' saved [54]

Файл, в который он записал, содержит только:

{
   "results" : [],
   "status" : "REQUEST_DENIED"
}

Любая помощь очень ценится.

1 Ответ

3 голосов
/ 22 декабря 2011

Символ '&', который разделяет параметры адреса и датчика, не передается команде wget, а вместо этого говорит вашей оболочке запустить wget в фоновом режиме. В полученном запросе отсутствует обязательный параметр «датчик» , который должен быть установлен в значение «истина» или «ложь» в зависимости от вашего ввода.

wget "http://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=false"
...