Windows 7 R версии 3.4.0 httr - ошибка 404 при подключении к переписи Geocoder api

Я использую следующий код для отправки командного файла через API Census Geocoder. Я посмотрел на этот вопрос и документацию для API. это не помогло мне. Я ожидаю получить некоторые данные, возвращенные с информацией об адресе... и не получить ошибку 404. Кажется, я получаю сообщение об ошибке при ответном вызове, я вроде отправляю данные в порядке, но не могу получить данные? Пожалуйста, помогите мне понять, почему я получаю ошибку. благодарю вас!

require(httr)

req <- POST("http://geocoding.geo.census.gov/geocoder/geographies/addressbatch", 
        body = list(
          addressFile = upload_file("addresses.csv"),
          benchmark = "Public_AR_Census2010",
          vintage = "Census2010_Census2010"
        ), 
        encode = "multipart",
        verbose())
stop_for_status(req)
content(req)

Я получаю следующий вывод

-> POST /geocoder/geographies/addressbatch HTTP/1.1
-> Host: geocoding.geo.census.gov
-> User-Agent: libcurl/7.54.1 r-curl/2.8.1 httr/1.3.1
-> Accept-Encoding: gzip, deflate
-> Accept: application/json, text/xml, application/xml, */*
-> Content-Length: 615
-> Content-Type: multipart/form-data; boundary=------------------------c0a7880f53fb0ca4
-> 
>> --------------------------c0a7880f53fb0ca4
>> Content-Disposition: form-data; name="addressFile"; 
filename="addresses.csv"
>> Content-Type: text/csv
>> 

>> "Unique_ID","Street address","City","State","ZIP"
>> 1,"125 Worth Street","New York","NY","10013"
>> 2,"258 Broadway","New York","NY","10007"
>> 3,"8 Centre Street","New York","NY","10007"

>> 
>> --------------------------c0a7880f53fb0ca4
>> Content-Disposition: form-data; name="benchmark"
>> 
>> Public_AR_Census2010
>> --------------------------c0a7880f53fb0ca4
>> Content-Disposition: form-data; name="vintage"
>> 
>> Census2010_Census2010
>> --------------------------c0a7880f53fb0ca4--

<- HTTP/1.0 302 Found
<- Location: 
https://geocoding.geo.census.gov/geocoder/geographies/addressbatch
<- Server: BigIP
<- Connection: Keep-Alive
<- Content-Length: 0
<- 
-> GET /geocoder/geographies/addressbatch HTTP/1.0
-> Host: geocoding.geo.census.gov
-> User-Agent: libcurl/7.54.1 r-curl/2.8.1 httr/1.3.1
-> Accept-Encoding: gzip, deflate
-> Accept: application/json, text/xml, application/xml, */*
-> 
<- HTTP/1.1 404 Not Found
<- Cache-Control: no-cache, no-store, max-age=0
<- Connection: close
<- Date: Thu, 25 Jan 2018 22:03:01 GMT
<- Pragma: no-cache
<- Content-Type: application/json
<- Expires: Wed, 31 Dec 1969 23:59:59 GMT
<- Content-Language: en-US
<- Vary: Origin
<- 
> stop_for_status(req)
Error: Not Found (HTTP 404).
> content(req)
named list()

1 ответ

Решение

На самом деле, если вы перейдете с http на https, ваш код будет работать.

Вы также можете проверить censusr пакет.

Другие вопросы по тегам