2013-11-22 17 views
2

嘗試使用機械化導航KBB.com。我創建了一個新代理商機械化無法導航KBB.com,獲取Mechanize :: ResponseCodeError:500 => Net :: HTTPInternalServerError

agent = Mechanize.new 

工作正常。

page = agent.get('http://www.kbb.com/toyota/mr2/1993-toyota-mr2/ 
styles/?intent=buy-used') 

返回頁面。

page.link_with(:text => "Choose this style").click 

給了我這個

page.link_with(:text => "Choose this style").click 
Mechanize::ResponseCodeError: 500 => Net::HTTPInternalServerError for 
http://www.kbb.com /toyota/mr2/1993-toyota-mr2/coupe-2d/options/? 
vehicleid=11263&intent=buy- used&pricetype=&path=&filter= -- unhandled response 

正常工作在Craigslist。爲什麼不是kbb?

回答

3

我能夠重現這一點,它看起來像其中一個cookie已損壞。任何其他請求都失敗。

您可以通過在每次請求前清除cookie jar來解決此問題。

agent.cookie_jar.clear!

+0

謝謝你的魅力!你怎麼解決這個問題的? – Kwestion

+1

我在IRB中運行代碼,重現了失敗。我最終重新運行'agent.get'並再次注意到失敗。我意識到第一個請求的工作,但後來的請求失敗。然後,我查找了如何清除餅乾。 –

1

我有一個簡單的形式(站點:http://www.myresaleweb.com/)上同樣的問題。事實證明,當通過Mechanize提交時,我意外地交換了兩個字段值,這導致這個特定的站點拋出500響應代碼錯誤。當我修復這兩個值時,它立即工作。

我無法在瀏覽器上覆制它的原因是我手動修改了它。一旦我嘗試不正確地手動(只是爲了確認錯誤),然後我能夠通過瀏覽器重現500錯誤代碼。

相關問題