1

curbを使用して一部のHTTPサーバーと通信し、そのHTTPサーバーがKeep-Aliveを適切に実装していないように見えます。

これが、この機能を使用しないように縁石を強制する方法を探している理由です。

確かに、次のリクエストをする前に1分ほど眠ることができますが、別の方法でこれを行いたいと思います。

4

1 に答える 1

1

デフォルトでは、curbはHTTP 1.1を使用します。これにより、キープアライブが可能になります。

?> easy = Curl::Easy.http_get('http://www.yahoo.com')
=> #<Curl::Easy [...]> 
?> easy.header_str.grep(/keep-alive/)
=> ["Connection: keep-alive\r\n"]

キープアライブを防ぐには、curbにHTTP1.0を使用するように強制します。

?> easy = Curl::Easy.http_get('http://www.yahoo.com') { |x| x.version = Curl::HTTP_1_0 }
=> #<Curl::Easy [...]> 
?> easy.header_str.grep(/keep-alive/)
=> []
于 2011-01-27T16:39:56.577 に答える