在 URL 上可以访问我要下载的文件。问题是,只有当我登录到服务时,我才能通过 URL 访问此文件。
如何从受登录保护的 URL 下载文件(我有凭据)?在 PHP 中可能会使用 cURL 来做到这一点,如何在 Ruby 中做到这一点?
谢谢
在 URL 上可以访问我要下载的文件。问题是,只有当我登录到服务时,我才能通过 URL 访问此文件。
如何从受登录保护的 URL 下载文件(我有凭据)?在 PHP 中可能会使用 cURL 来做到这一点,如何在 Ruby 中做到这一点?
谢谢
如果您想进入一个不仅具有基本身份验证的站点,您可能应该查看mechanize。例如(取自有关该主题的 railscast),您可能会执行以下操作:
require 'mechanize'
agent = WWW::Mechanize.new
agent.get("http://railscasts.tadalist.com/session/new")
form = agent.page.forms.first
form.password = "secret"
form.submit
agent.page.link_with(:text => "Wish List").click
阅读HTTP
基本认证文档:http ://ruby-doc.org/stdlib-2.0.0/libdoc/net/http/rdoc/Net/HTTP.html#label-Basic+Authentication
uri = URI('http://example.com/index.html?key=value')
req = Net::HTTP::Get.new(uri)
req.basic_auth 'user', 'pass'
res = Net::HTTP.start(uri.hostname, uri.port) {|http|
http.request(req)
}
puts res.body