我想访问美国人口普查地理编码批次地址的API,在这里找到:http://geocoding.geo.census.gov/geocoder/发布并R中使用HTTR从API接收数据
我也通过这里的API文档了:http://geocoding.geo.census.gov/geocoder/Geocoding_Services_API.pdf
我试图在R中使用httr包来发布使用以下格式的格式化地址的批量csv文件:唯一ID,街道地址,城市,州,邮编 我试过使用单个地址请求版本来自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)
我的要求丢失了什么吗?我不确定在这种情况下是否应该使用写入功能& writedata。任何帮助,将不胜感激!
你得到什么错误?什么是“address100”?你为什么使用'httr'而不是'upload_file'?尝试发布到http://httpbin.org/post来查看您的请求是否正确。 – Jeroen 2014-11-20 20:28:43
谢谢!我得到的内容(测试)将是一个单独的字符串,表示“可能不是空”,表示请求已经通过,但以某种方式很糟糕,因此显示为空响应。我使用RCurl的fileUpload,因为upload_file似乎只接受文件的路径,而我试图上传一个R数据对象。 – Sandy 2014-11-22 03:59:20