擅长:python、mysql、java
<p>慢可能是因为你做了错误的HTTP:发出HTTP/1.1请求,甚至显式地指定connectionkeep-alive(甚至不需要,因为这在HTTP/1.1中是隐式的)。但是,您只需从套接字读取,并期望服务器在请求完成后关闭连接。但是服务器不会这样做,它会等待更多的请求,因为它会保持活动状态,并且只有在一段时间的非活动状态之后才会关闭连接,这取决于服务器的配置。你很幸运地连接到一个超时时间很短的服务器,在那里你每秒钟仍能收到4.04个请求,而在其他服务器上,你的代码每分钟只有几个请求。在</p>
<p>如果您想用普通套接字发出一个简单的HTTP请求,请使用HTTP/1.0,而不要使用keep-alive。然后你可以一直读到服务器关闭,你也不必处理HTTP/1.1中引入的分块传输编码。您也不必处理压缩编码,因为您不明确接受它们(但一些损坏的服务器无论如何都会发送它们)。在</p>
<p>但是,虽然这将使您的代码比现在更快,但它不会像请求那样快,因为所有这些保持活动、压缩等都是为了提高速度而添加的。要正确地重新实现所有这些并不容易,所以我建议您继续使用请求库。在</p>