2013-07-30 70 views
0

我使用了Curb來獲取各種URL,如果響應是200,我就得到了我所需要的。然而,如果響應是重定向,路沿石似乎並沒有跟隨重定向,即使我是問 - 例如:Ruby Curb沒有跟隨重定向

easy = Curl::Easy.new 
easy.follow_location = true 
easy.max_redirects = 3 
easy.url = "http://stats.berr.gov.uk/ed/vat/VATStatsTables2a2d2007.xls" 
easy.perform 

=> Curl::Err::GotNothingError: Curl::Err::GotNothingError 
from /Users/stuart/.rvm/gems/[email protected]/gems/curb-0.8.4/lib/curl/easy.rb:60:in `perform' 

但是,如果我在命令行上做curl -L http://stats.berr.gov.uk/ed/vat/VATStatsTables2a2d2007.xls,我得到預期的響應。我究竟做錯了什麼?

回答

2

這聽起來像這個服務器返回一個空的回覆[1],如果你沒有提供用戶代理。

爲了解決你的問題只是一個設定:

... 
easy.useragent = "curb" 
easy.perform 

[1]:curl -A '' -L http://stats.berr.gov.uk/...(52) Empty reply from server

+0

就是這樣!謝謝! – Pezholio