【发布时间】:2019-12-21 00:07:31
【问题描述】:
我正在试验人口普查批量地理编码 API documentation
以下 curl 命令有效:
curl --form addressFile=@Addresses.csv --form benchmark=9 http://geocoding.geo.census.gov/geocoder/locations/addressbatch --output geocoderesult.csv
但是当我尝试将此移植到 python 请求时:
url = 'http://geocoding.geo.census.gov/geocoder/geographies/addressbatch'
payload = {'benchmark':9}
files = {'addressFile': ('Addresses.csv', open('Addresses.csv', 'rb'), 'text/csv')}
r = requests.post(url, files=files, data = payload)
print r.text
我显然没有发送格式正确的请求,只是收到“出现内部错误”作为响应。知道我在形成这个请求时做错了什么吗?
【问题讨论】:
-
结果是同时在做同样的事情。刚刚尝试使用您的代码和我的 csv 进行快速剪切和粘贴,它返回了
status_code的200。可能是您的 CSV 中的数据问题 - 通过在此处上传数据来检查您的数据:geocoding.geo.census.gov/geocoder/locations/addressbatch?form 并查看它是否在那里工作。 -
它总是返回
statuscode的200,但是如果您检查响应,它仍然包含“存在内部错误。我已通过通过上面的 curl 示例。我想我只是没有正确格式化请求以匹配 curl 示例。
标签: python python-requests geocoding census