Skip to content

Instantly share code, notes, and snippets.

@josephok
Created November 3, 2016 12:11
Show Gist options
  • Save josephok/71d2df47b9ec86f824b8a92dc740dd28 to your computer and use it in GitHub Desktop.
Save josephok/71d2df47b9ec86f824b8a92dc740dd28 to your computer and use it in GitHub Desktop.
python socket
import socket
BUF_SIZE = 4096
HOST = 'httpbin.org'
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((HOST, 80))
req_msg = [
b'GET /ip HTTP/1.1',
b'User-Agent: curl/7.37.1',
'Host: {}'.format(HOST).encode('utf-8'),
b'Accept: */*',
]
delimiter = b'\r\n'
sock.send(delimiter.join(req_msg))
sock.send(delimiter)
sock.send(delimiter)
data = b''
while True:
http_response = sock.recv(BUF_SIZE)
data += http_response
if len(http_response) < BUF_SIZE:
break
print(data.decode('utf-8'))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment