【问题标题】:How to access a web service that requires authetication [duplicate]如何访问需要身份验证的 Web 服务 [重复]
【发布时间】:2011-06-20 18:36:40
【问题描述】:

可能重复:
Reading information from a password protected site

我有一个基于您用来访问它的 url 以 csv 格式提供数据的网络服务。即http://sever.com/parameter1为参数1返回一个csv,http://sever.com/parameter1为参数2返回一个csv,等等。当我第一次在浏览器中访问该站点时,我输入用户名和密码,然后可以访问我想要的任何数据。

当我尝试将该数据导入 R 时出现问题。我尝试了这个功能:

readLines('http://sever.com/parameter1')

但出现以下错误:

Error in file(con, "r") : cannot open the connection
In addition: Warning message:
In file(con, "r") : cannot open: HTTP status was '401 Unauthorized'

当然,这是因为 R 不知道将我的用户名和密码与请求一起传递。如何在 R 中定义这些附加参数?有什么办法可以在请求中添加 cookie 之类的吗?

谢谢。

/edit:这里的答案(SO没有选择不同的问题措辞)对我有用:

Reading information from a password protected site

如果其他人有任何其他建议,请告诉我。

【问题讨论】:

  • 正在使用什么样的身份验证? Apache 或一些 PHP 或类似脚本接受 POST 或 GET?
  • @Gavin Simpson:该网站只要求输入用户名和密码。将我的网址修改为:readLines('http://user:pass@sever.com/parameter1') 工作

标签: r web-applications web-scraping


【解决方案1】:

为什么不使用 curl 来抓取文件?这样您就可以为用户名和密码设置 http 标头:

curl --user name:password http://www.example.com

有一个用于 R 的 curl 库

http://curl.haxx.se/libcurl/r/

【讨论】:

    猜你喜欢
    • 2013-09-02
    • 2012-02-19
    • 2020-02-26
    • 1970-01-01
    • 2017-02-09
    • 1970-01-01
    • 2016-01-09
    • 2012-02-28
    • 1970-01-01
    相关资源
    最近更新 更多