HTTPリクエストをWebサイトに送信し、返されるデータを読み取ろうとしています。私が試した最初のWebサイトは正常に機能しました。約4パケットのデータを返し、次に0パケットを返し、スクリプトがそれをキャッチして終了しました。
ただし、 http://www.google.com/を読み込もうとしても、この方法では機能しません。代わりに、同じ長さの約10個のパケット、最後の小さいパケットを返し、タイムアウトに進みます。これが起こるのは正常ですか?それはすべて、ホストが使用しているサーバーに依存しているだけですか?
最終的なnullパケットが常に送信されるとは限らないことを考慮に入れて、socket.recv()を使用して読み取る別の方法を誰かが推奨できる場合は、それを大いに歓迎します。ありがとう。
try:
data = s.recv(4096)
while True:
more = s.recv(4096)
print len(more)
if not more:
break
else:
data += more
except socket.timeout:
errMsg = "Connection timed-out while connecting to %s. Request headers were as follows: %s", (parsedUrl.netloc, rHeader.headerContent)
self.logger.exception(errMsg)
raise Exception