1

Curb を使用してさまざまな URL を取得しています。応答が 200 の場合、必要なものが取得されます。ただし、応答がリダイレクトの場合、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/ruby-2.0.0-p0@datakitten/gems/curb-0.8.4/lib/curl/easy.rb:60:in `perform'

ただし、curl -L http://stats.berr.gov.uk/ed/vat/VATStatsTables2a2d2007.xlsコマンド ラインで行うと、期待どおりの応答が得られます。私は何を間違っていますか?

4

1 に答える 1

2

ユーザーエージェントを提供しない場合、このサーバーは空の応答を返すように聞こえます[1]。

問題を解決するには、次のいずれかを設定します。

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

[1]:curl -A '' -L http://stats.berr.gov.uk/...を与え(52) Empty reply from serverます。

于 2013-07-30T11:52:31.293 に答える