如何在此处批处理地理编码中使用wget发送文件

时间:2019-03-13 17:34:27

标签: rest http-post here-api geocoder

我想借助HERE batch geocoding 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”,“外壳窗口”。 谢谢!

1 个答案:

答案 0 :(得分:0)

400表示请求格式错误。换句话说,客户端发送到服务器的数据流不遵循规则。 对于具有JSON有效负载的REST API,通常,并且我会正确地说,根据服务的API规范,通常使用400来表示JSON无效。

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

recId | searchText |国家 1 | 425 W Randolph St,伊利诺伊州芝加哥60606 |美国 2 | 31 St James Ave Boston MA 02116 |美国 3 | 10115柏林Invalidenstrasse 117 | DEU

recId |街道|城市|邮政编码|国家 1 | 425 Randolph St |芝加哥||美国 2 | 31 St James Ave |波士顿| 02116 |美国 3 | Invalidenstrasse 117 |柏林| 10115 | DEU

recId,searchText,国家 1,德国慕尼黑“Sturmstraße8,80687” 2,“米兰”,ITA 3,“ Rom”,ITA 4,DEU的“ TecklenburgerStraße,Westerkappeln 49492” 5,“ 425 W Randolph St Chicago,伊利诺伊州,60606”,美国

recId,searchText,国家 1,O“ Farell St旧金山,美国

recId,searchText,国家 1,“Sturmstraße8,80687München,DEU

虚拟address.txt $ cat address.txt recId,searchText,国家 1,德国慕尼黑“Sturmstraße8,80687” 2,“米兰”,ITA 3,“ Rom”,ITA 4,DEU的“ TecklenburgerStraße,Westerkappeln 49492” 5,“ 425 W Randolph St Chicago,伊利诺伊州,60606”,美国

wget --header =“内容类型:文本/纯文本; 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 [application / 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 --.- KB / s in 0s

2019-03-14 15:12:04(26.3 MB / s)-'工作?&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]