2011-04-30 46 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