Как отправить файл с помощью wget на ТУТ геокодирование - PullRequest
0 голосов
/ 13 марта 2019

Я хотел бы получить широту и долготу из списка адресов пакетов с помощью ЗДЕСЬ пакетного геокодирования api . Не могли бы вы помочь мне отправить файл "address.txt" через POST? Я попробовал команду в Linux Mint и получил «Ошибка 400». : '(

wget --header="Content-Type: text/plain; charset=UTF-8" --post-file=addresses.txt"https://batch.geocoder.api.here.com/6.2/jobs?&app_code=xxxxx&app_id=xxxxxxx&action=run&header=true&inDelim=;&outDelim=,&outCols=recId,latitude,longitude,locationLabel&mailto=xxxxxxx&outputcombined=true&language=pt-BR"

Мой текстовый файл содержит только адреса, без заголовков, и каждая строка представляет отдельный адрес, всего 30000 строк.

Пример:

street of the apple, 01, center, são paulo-SP
street of orange, 15, center, são paulo-SP

Это может быть другая альтернатива "cmd", "shell windows". Спасибо!

1 Ответ

0 голосов
/ 14 марта 2019

A 400 означает, что запрос был искажен. Другими словами, поток данных, отправленный клиентом на сервер, не соответствовал правилам. В случае REST API с полезной нагрузкой JSON 400 и, как я бы сказал, правильно, используются для указания того, что JSON каким-то образом недопустим в соответствии со спецификацией API для службы.

адресные данные могут быть структурированными (квалифицированными) или неструктурированными (произвольной формы). Ниже приведен пример входного файла с адресами произвольной формы с квалификатором кода страны, использующим «|» в качестве разделителя. Первая строка - это заголовок, в котором перечислены имена столбцов во входном файле. Ниже приведен пример тех же адресов в полной форме: Столбец recId является необязательным. Если предусмотрено, то оно повторяется в выходных данных для справки. Если в данных есть вхождение символа-разделителя, вы должны заключить данные в двойные кавычки. Приведенный ниже пример иллюстрирует случай, когда разделитель представляет собой запятую, а ввод содержит запятые. Одиночная двойная кавычка (") на строку ввода рассматривается как обычный символ. В следующем примере показана правильная строка ввода. Для сравнения, приведенный ниже пример неверен. Конечная кавычка отсутствует, в результате чего четыре вместо трех полей на строку ввода ожидает служба.

RECID | SearchText | страна 1 | 425 W Randolph St, Чикаго, Иллинойс 60606 | USA 2 | 31 St James Ave Boston MA 02116 | USA 3 | 10115 Berlin Invalidenstrasse 117 | DEU

RECID | улица | город | PostalCode | страна 1 | 425 Randolph St | Чикаго || США 2 | 31 St James Ave | Бостон | 02116 | США 3 | Invalidenstrasse 117 | Берлин | 10115 | DEU

RECID, SearchText, страна 1, "Sturmstraße 8, 80687 München", DEU 2, "Милан", ITA 3, "Ром", ITA 4, "Tecklenburger Straße, Westerkappeln 49492", DEU 5, "Рэндольф Сент-Чикаго, 425 Вт, Иллинойс, 60606", США

RECID, SearchText, страна 1, O "Farell St San Francisco, USA

RECID, SearchText, страна 1, "Sturmstraße 8, 80687 München, DEU

Пустой адрес address.txt $ cat address.txt RECID, SearchText, страна 1, "Sturmstraße 8, 80687 München", DEU 2, "Милан", ITA 3, "Ром", ITA 4, "Tecklenburger Straße, Westerkappeln 49492", DEU 5, «Рэндольф Сент-Чикаго, 425 Вт, Иллинойс, 60606», США

wget --header = "Content-Type: text / plain; charset = UTF-8" --post-file = address.txt "https://batch.geocoder.api.here.com/6.2/jobs?&app_code=xxxxxxx&app_id=xxxxxxx&action=run&header=true&inDelim=,&outDelim=,&outCols=recId,latitude,longitude,locationLabel&mailto=xyz@gmail.com&outputcombined=true&language=de-DE"

- 2019-03-14 15: 12: 02-- https://batch.geocoder.api.here.com/6.2/jobs?&app_code=xxxx&app_id=xxxxx&action=run&header=true&inDelim=,&outDelim=,&outCols=recId,latitude,longitude,locationLabel&mailto=xyz@gmail.com&outputcombined=true&language=de-DE Разрешение batch.geocoder.api.here.com (batch.geocoder.api.here.com) ... 52.33.227.75, 52.35.120.176 Подключение к batch.geocoder.api.here.com (batch.geocoder.api.here.com) | 52.33.227.75 |: 443 ... подключено. HTTP-запрос отправлен в ожидании ответа ... 200 Длина: 468 [приложение / XML] Сохранение в: 'jobs? & App_code = xxxx & app_id = xxxxxx & action = run & header = true & inDelim =, & outDelim =, & outCols = recId, широта, долгота, locationLabel & mailto = xyz @ gmail.com & outputcombined = true & language = de-DE'

рабочих мест? & App_code = xxx & app_id = xxxx 100% [============================================ ================================================== ================================================== >] 468 - .- КБ / с за 0 с

2019-03-14 15:12:04 (26,3 МБ / с) - 'jobs? & App_code = xxxx & app_id = xxxxx & action = run & header = true & inDelim =, & outDelim =, & outCols = recId, широта, долгота, locationLabel & mailto = xyz @ gmail .com & outputcombined = true & language = de-DE 'сохранено [468/468]

...