0

我想借助HERE 批量地理编码 api从批量地址列表中获取纬度和经度。你能帮我通过 POST 发送文件“addresses.txt”吗?我在 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"

我的文本文件只包含地址,没有标题,每一行代表一个不同的地址,总共有 30,000 行。

例子:

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

它可以是另一种替代“cmd”、“shell windows”。谢谢!

4

1 回答 1

0

400 表示请求格式不正确。也就是说,客户端向服务器发送的数据流不符合规则。在带有 JSON 有效负载的 REST API 的情况下,根据服务的 API 规范,400 通常并且我会说正确地用于指示 JSON 在某种程度上是无效的。

地址数据可以是结构化的(合格的)或非结构化的(自由格式)。以下是带有使用“|”的国家代码限定符的自由格式地址的输入文件示例 作为分隔符。第一行是列出输入文件中列名称的标题。以下是完全限定形式的相同地址的示例: recId 列是可选的。如果提供,它会在输出中重复以供参考。如果数据中出现分隔符,则必须用双引号将数据括起来。下面的示例说明了分隔符是逗号且输入包含逗号的情况。每个输入行的单个双引号 (") 被视为常规字符。以下示例显示了正确的输入行。相比之下,以下示例无效。

recId|searchText|国家 1|425 W Randolph St, Chicago Illinois 60606|USA 2|31 St James Ave Boston MA 02116|USA 3|10115 Berlin Invalidenstrasse 117|DEU

recId|street|city|postalCode|country 1|425 Randolph St|Chicago||USA 2|31 St James Ave|Boston|02116|USA 3|Invalidenstrasse 117|Berlin|10115|DEU

recId,searchText,country 1,"Sturmstraße 8, 80687 München", DEU 2,"Milano", ITA 3,"Rom", ITA 4,"Tecklenburg Straße, Westerkappeln 49492", DEU 5,"425 W Randolph St Chicago,伊利诺伊州,60606",美国

recId,searchText,country 1,O"Farell St San Francisco,USA

recId,searchText,country 1,"Sturmstraße 8, 80687 München,DEU

虚拟地址.txt $ cat address.txt recId,searchText,country 1,"Sturmstraße 8, 80687 München", DEU 2,"Milano", ITA 3,"Rom", ITA 4,"Tecklenburg Straße, Westerkappeln 49492", DEU 5,"425 W Randolph St 芝加哥,伊利诺伊州,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,纬度,经度,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 [application/xml] 保存到:'jobs?&app_code=xxxx&app_id=xxxxxx&action=run&header=true&inDelim=,&outDelim=,&outCols=recId,latitude,longitude,locationLabel&mailto=xyz@ gmail.com&outputcombined=true&language=de-DE'

工作?&app_code=xxx&app_id=xxxx 100%[======================================== ==================================================== ================================================>] 468 --.-KB/s in 0s

2019-03-14 15:12:04 (26.3 MB/s) - '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' 已保存 [468/468]

于 2019-03-14T10:14:20.853 回答