python之socket模拟浏览器发请求(基础版)

需要掌握:HTTP协议

谷歌浏览器查看请求信息

用谷歌浏览器点击F12,弹出“检查”窗口,然后访问www.sohu.com,如下截图:

上面红框处就是发送请求的消息,参照此消息,使用python socket编程,向www.sohu.com发送请求

注意:

www.sohu.com 是域名,通过dns服务器解析后,得到IP地址,dns解析的过程由底层自动完成,socket编程可以忽略

代码

向 www.sohu.com 发送请求,代码如下:

import socket

s = socket.socket()
s.connect(('www.sohu.com', 80))

s.sendall(b'GET / HTTP/1.1\r\n')
s.sendall(b'Host: www.sohu.com\r\n')
s.sendall(b'User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36\r\n')
s.sendall(b'\r\n')


data=s.recv(10240)
print(data.decode('UTF-8'))

s.close()

原文出处:/show_1EF3fcyp12GP.html