Я пытаюсь отправлять и получать HTTP
данные, используя сокет Python.Но когда я использую HTTP/1.0
, он работает, но когда я использую HTTP/1.1
, он просто продолжает ждать ...
Этот код работает
import socket
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_address = ('httpbin.org', 80)
client_socket.connect(server_address)
request_header = 'GET /ip HTTP/1.0\r\nHost: httpbin.org\r\n\r\n'
client_socket.send(request_header.encode())
response = ''
while True:
recv = client_socket.recv(1024)
if not recv:
break
response += recv
print(response)
client_socket.close()
Это не работает
import socket
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_address = ('httpbin.org', 80)
client_socket.connect(server_address)
request_header = 'GET /ip HTTP/1.1\r\nHost: httpbin.org\r\n\r\n'
client_socket.send(request_header.encode())
response = ''
while True:
recv = client_socket.recv(1024)
if not recv:
break
response += recv
print(response)
client_socket.close()
Если проблема связана с HTTP/1.1
, то как я могу обнаружить, если она не поддерживает HTTP/1.1
?