1

使用遏制与某些 HTTP 服务器进行通信,并且看起来该 HTTP 服务器没有正确实现 Keep-Alive。

这就是为什么我正在寻找强制遏制不使用此功能的方法。

当然,我可以在发出下一个请求之前睡几分钟,但我想以其他方式做到这一点。

4

1 回答 1

1

默认情况下,遏制使用 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"]

要防止保持活动状态,请强制限制使用 HTTP 1.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 回答