[英]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.