使用httr进行Webscraping:GET功能给出状态:503'

时间:2017-01-26 13:43:01

标签: r get httr

我尝试使用工作电脑上的httr包中的GET功能连接到网站。

当我尝试

library(httr)
url <- "http://httpbin.org/get"
GET(url)

我获得状态:503。当我使用RCurl库检查链接是否存在时

library(RCurl)
url.exists(url)

它说FALSE,虽然链接确实存在。

最后,使用以下方法确实有效:

readLines(url)

任何人都知道如何让GET功能正常工作?

*************更新****************** 我跑的时候

library(httr)
with_verbose(GET("http://httpbin.org/get"))

我得到以下输出:

library(httr)
Warning message:
package ‘httr’ was built under R version 3.2.5 
with_verbose(GET("http://httpbin.org/get"))
GET /get HTTP/1.1
Host: httpbin.org
User-Agent: libcurl/7.47.1 r-curl/0.9.7 httr/1.1.0
Accept-Encoding: gzip, deflate
Accept: application/json, text/xml, application/xml, */*

HTTP/1.1 503 Service Unavailable
Content-Type: text/html; charset=UTF-8
Content-Length: 3
Connection: close
P3P: CP="CAO PSA OUR"
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache

Response [http://httpbin.org/get]
Date: 2017-02-02 15:08
Status: 503
Content-Type: text/html; charset=UTF-8
Size: 3 B

1 个答案:

答案 0 :(得分:0)

似乎您处于httr没有的环境中 正确的默认配置。

以下内容会返回什么?

library(httr) with_verbose(GET("http://httpbin.org/get"))

结果可能有助于确定httr的正确配置。

请注意,在httr中,您可以使用httr::set_config

设置全局配置