2011-04-30 47 views
0

我正在尝试创建一个自动化工具,并且希望我的脚本能够模拟类似Firefox的头文件。目前做一个HTTP获取将有最小数量的标题。我相信方法,主人和接受。如何修改Ruby中的标题以复制Firefox?

这方法我现在使用:

def fetch(url_str, limit = 10) 
    raise ArguementError, 'HTTP redirect too deep' if limit == 0 

    res = Net::HTTP.get_response(URI.parse(url_str)) 

    case res 
    when Net::HTTPSuccess then 
     $dpage += res.body 
    when Net::HTTPRedirection then 
     $dpage += fetch(res['location'], limit - 1) 
    else 
     puts res.error! 
    end 
end 

我怎样才能改变这种更头?甚至修改已经存在的“接受”?

我试过使用“Net :: HTTP :: Get.add_field”的方法,但它导致主机发出“错误的请求”响应。

当我分析数据包,我可以看到为什么。标题的顺序不正确。不按照我在代码中添加它们的顺序。

任何想法?

回答

0

你应该看看类似于Typhoeus,它有一个nice API来处理这些事情。

+1

谢谢你的建议,但我想坚持Ruby的本地库。功能在那里,但我不知道它们是如何工作的,在ruby文档中找不到足够的细节。 – user732129 2011-04-30 08:00:33