簡體   English   中英

如果調用機械化代理的read_timeout =,則ruby Fakeweb錯誤

[英]ruby Fakeweb error if a Mechanize agent's read_timeout= is called

我正在使用Mechanize搜尋一些網站。 抓取蜘蛛時,我將頁面保存到文件中,以便以后與Fakeweb一起使用以進行測試。

我的Mechanize代理是通過以下方式創建的:

Mechanize.new do |a| 
  a.read_timeout = 20 # doesn't work with Fakeweb?
  a.max_history = 1 
end

當我運行應用程序使Fakeweb能夠獲取文件而不是實際的Internet訪問時,我的日志會為我嘗試的每個uri拋出這些消息

W, [2011-08-20T18:49:45.764749 #14526]  WARN -- : undefined method `read_timeout=' for #<FakeWeb::StubSocket:0xb72c150c>

如果我在上面的代碼中注釋第二行( # a.read_timeout = 20 ... ),則它可以正常工作。 沒問題 關於如何啟用read_timout並使Fakeweb工作的任何想法嗎?

TIA

猴子打補丁通常是一種麻煩,但我認為這是合理的:

module FakeWeb
  class StubSocket
    def read_timeout=(ignored)
    end
  end
end

超時在虛假世界中沒有多大意義,因此忽略它們似乎是一件合理的事情。

您甚至可以考慮向作者發送請求請求

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM