J'apprenais la programmation de socket et j'ai essayé de concevoir un client http de base. Mais d'une manière ou d'une autre tout va bien mais je ne reçois aucune donnée. Pouvez-vous s'il vous plaît me dire ce qui me manque?Socket ne recevant aucune donnée. Pourquoi?
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"
SORTIE
Connecting
Sending Request
298
Receving Reponse
Completed
Pendant que je m'y attendais pas me montrer le contenu HTML de la page d'accueil de wikipedia: '(
De plus, ce serait génial si quelqu'un peut partager quelques ressources web/livres où je peux lire en détail à propos de python socke t programmation pour HTTP Request Client
Merci!
Vos nouvelles lignes sont-elles les nouvelles lignes («\ r \ n'')? En outre, après les en-têtes, vous devriez avoir une seule ligne vide, cela indique au serveur que les en-têtes sont terminés. –
Non ce n'était pas .. Je pensais que \ n suffira mais il ne .. je l'ai eu .. merci :) – codersofthedark