1

Pythonを使用したTCP/IP接続は初めてです

私はこの単純なコードを持っています:

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("www.google.com",80))
s.send("GET /\n")
while 1: 
 received = s.recv(1024) 
 if received: 
  print received

しかし、私がそれを実行すると、それは永遠に実行され、結果は得られません!!!

手伝っていただけませんか。ありがとう

4

1 に答える 1

1

HTTP プロトコルに従う

s.send("GET /\n")

これは正しくありません。適切な方法で http データを送信する必要があります。これを使って

s.send("GET / HTTP/1.0\r\nHost: www.google.com\r\n\r\n");

実際には、標準の http リクエスト ヘッダーを送信する必要があります。

GET / HTTP/1.0
Host: www.google.com

注: Davidがコメントで述べているように、チャンク転送コーディングをデコードできる必要があります。そのためHTTP/1.0、ヘッダーに記載することをお勧めします。

于 2012-09-06T00:33:32.730 に答える