Ruby on rails 将LWP::UserAgent从Perl转换为Ruby

Ruby on rails 将LWP::UserAgent从Perl转换为Ruby,ruby-on-rails,ruby,perl,httprequest,user-agent,Ruby On Rails,Ruby,Perl,Httprequest,User Agent,我试图在HTTP请求(Ruby)的头中添加一个用户代理,但不确定用户代理字符串的格式。以下是如何在Perl中定义它: use LWP::UserAgent; my $ua = new LWP::UserAgent(keep_alive=>1); $ua->credentials($netloc, '', "$user", "$pwd"); 如果我尝试打印$ua,我得到一个每次都会改变的哈希值。我相信在Ruby中,我应该将凭证嵌入到单个字符串中。我如何知道如何格式化此字符串?或者,如

我试图在HTTP请求(Ruby)的头中添加一个
用户代理
,但不确定用户代理字符串的格式。以下是如何在Perl中定义它:

use LWP::UserAgent;
my $ua = new LWP::UserAgent(keep_alive=>1);
$ua->credentials($netloc, '', "$user", "$pwd");
如果我尝试
打印$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)

您的Perl示例没有显示如何设置用户代理头(使用
代理
方法)。这是标识执行事务的软件的标题。您在Perl示例中添加了基本的身份验证凭据,这是用户演示允许他们访问资源的方式。它们是完全不同的东西

当您
打印$ua
时,您会看到对象的内存地址,如
LWP::UserAgent=HASH(0x7fa9db00b1b0)

如果要在Ruby示例中设置用户代理字符串,请填写所需字符串

如果要提供基本授权的用户名和密码,请参阅中的示例:


您的Perl示例没有显示设置用户代理头(使用
Agent
方法)。这是标识执行事务的软件的标题。您在Perl示例中添加了基本的身份验证凭据,这是用户演示允许他们访问资源的方式。它们是完全不同的东西

当您
打印$ua
时,您会看到对象的内存地址,如
LWP::UserAgent=HASH(0x7fa9db00b1b0)

如果要在Ruby示例中设置用户代理字符串,请填写所需字符串

如果要提供基本授权的用户名和密码,请参阅中的示例:


请编辑您的问题,使其包含您迄今为止编写的Ruby代码。@Jordan我已添加Ruby代码并将我不确定的部分加粗。请编辑您的问题,使其包含您迄今为止编写的Ruby代码。@Jordan我已添加Ruby代码并将我不确定的部分加粗
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