나는 소켓 프로그래밍을 배우고 있고 내 기본 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 콘텐츠를 표시 기대 동안 '(또한
, 그것은 좋은 것입니다 누군가가 파이썬 소켓에 대해 자세히 읽을 수있는 웹 리소스/책을 공유 할 수 있다면 HTTP 요청 클라이언트 프로그래밍 t
감사!
개행 문자가 올바른 개행 문자 (' '\ r \ n '')입니까? 또한 헤더 뒤에 빈 줄이 하나 있어야하며 헤더가 완료되었다는 것을 서버에 알려줍니다. –
아니, 아니 .. .. \ n 충분할 것이라고 생각하지만 그것은 나던 .. 내가 그것을 가지고 .. 고마워 :) – codersofthedark