我正在尝试访问美国人口普查地理编码器批处理地址API,可在此处找到:http://geocoding.geo.census.gov/geocoder/
我还在这里查看了API的文档:http://geocoding.geo.census.gov/geocoder/Geocoding_Services_API.pdf
我正在尝试使用R中的httr包来使用以下格式发布格式化地址的批处理csv文件:唯一ID,街道地址,城市,州,ZIP 我已经使用来自RCurl的getURL尝试了单个地址请求版本,并且工作正常,但是postForm似乎没有以正确的方式提交文件。我现在正在使用的代码似乎正确地发布了请求,但我没有收到任何地理编码数据。
curlhandle <- handle("http://geocoding.geo.census.gov/geocoder/geographies/addressbatch",
cookies = TRUE)
# using fileUpload from RCurl instead of upload_file from httr
upload3 <- fileUpload(contents = address100, contentType = "file")
test <- POST(url="http://geocoding.geo.census.gov/geocoder/geographies/addressbatch",
body = list(addressFile = upload3,
benchmark = "Public_AR_Census2010",
vintage="Census2010_Census2010"),
encode = "multipart",
handle = curlhandle,
followLocation = TRUE,
verbose = TRUE)
我的请求遗漏了什么吗?我不确定我是否应该使用writefunction&amp;在这种情况下writedata。任何帮助将不胜感激!
答案 0 :(得分:1)
你似乎有一个奇怪的混合RCurl和httr。以下是我写这个请求的方式:
req <- POST(
"http://geocoding.geo.census.gov/geocoder/geographies/addressbatch",
body = list(
addressFile = upload_file(address100),
benchmark = "Public_AR_Census2010",
vintage = "Census2010_Census2010"
),
encode = "multipart",
verbose())
stop_for_status(req)
content(req)
(也&#34;文件&#34;不是有效的mime类型)