我尝试在HTTP请求的头中添加一个User-Agent
(Ruby),但不确定user-agent字符串的格式。下面是它在Perl中的定义:
use LWP::UserAgent;
my $ua = new LWP::UserAgent(keep_alive=>1);
$ua->credentials($netloc, '', "$user", "$pwd");
如果我尝试print $ua;
,我得到一个每次都改变的哈希值,我相信在Ruby中我应该把证书嵌入到一个字符串中,我怎样才能知道如何格式化这个字符串?或者,我怎样才能成功地在Perl中打印$ua
的内容?
Ruby代码:http = Net::HTTP.new("your.site.com", 80) req = Net::HTTP::Get.new("/path/to/the/page.html", {'User-Agent' => '
您的代理在此'}) response = http.request(req)
1条答案
按热度按时间disho6za1#
您的Perl示例没有显示如何设置User-Agent标头(使用
agent
方法)。该标头用于标识执行事务的软件。您在Perl示例中添加了基本身份验证凭据,这是用户证明其被允许访问资源的方式。它们是完全不同的东西。当您使用
print $ua
时,您将看到对象的内存地址,如LWP::UserAgent=HASH(0x7fa9db00b1b0)
。如果要在Ruby示例中设置User-Agent字符串,请填写所需的字符串。
如果要为基本授权提供用户名和密码,请参阅Net::HTTP docs中的示例: