私はソケットプログラミングを学び、私の基本的なhttpクライアントを設計しようとしました。しかし、何とかすべてがうまくいっていますが、私はデータを受け取っていません。何が欠けているのか教えていただけますか?ソケット受信データなし。どうして?
CODE
import socket
def create_socket():
return socket.socket(socket.AF_INET, socket.SOCK_STREAM)
def remove_socket(sock):
sock.close()
del sock
sock = create_socket()
print "Connecting"
sock.connect(('en.wikipedia.org', 80))
print "Sending Request"
print sock.sendall ('''GET /wiki/List_of_HTTP_header_fields HTTP/1.1
Host: en.wikipedia.org
Connection: close
User-Agent: Web-sniffer/1.0.37 (+http://web-sniffer.net/)
Accept-Encoding: gzip
Accept-Charset: ISO-8859-1,UTF-8;q=0.7,*;q=0.7
Cache-Control: no-cache
Accept-Language: de,en;q=0.7,en-us;q=0.3
Referer: d_r_G_o_s
''')
print "Receving Reponse"
while True:
content = sock.recv(1024)
if content:
print content
else:
break
print "Completed"
OUTPUT
Connecting
Sending Request
298
Receving Reponse
Completed
私はそれが私のウィキペディアのホームページのHTMLコンテンツを表示する期待していたものの: '(
また、それは素晴らしいことですもし誰かが私がPython Sockeについて詳しく読むことができるいくつかのWebリソース/ブックを共有することができればHTTPリクエストのクライアントのためのTプログラミング
ありがとう!
は( ' '\ rを\ n'')あなたの改行を適切な改行はありますか?また、ヘッダーの後に空の行が1つあるはずです。これはヘッダーが完了したことをサーバーに伝えます。 –
ありません、それは感謝:) – codersofthedark