模拟浏览器发送请求报文

import socket

# 建立socket对象
socket_con = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接指定服务器地址
socket_con.connect(('www.baidu.com', 80))
# 拼接请求报文
# 请求行
request_line = 'GET / HTTP/1.1\r\n'
# 请求头,必须要写明Host,原因是因为,之前连接就相当于找到了教室
# 这里的Host则相当于在教室里找座位,这样才能确定正确的位置
request_head = 'Host:www.baidu.com\r\n'
# 必须加空行
request = request_line + request_head + '\r\n'
# 发送给服务器,默认编码utf-8
socket_con.send(request.encode())
# 接收服务器返回的响应报文,并解码
response = socket_con.recv(4096).decode()
# 打印响应报文
print(response)
# 关闭socket

  

猜你喜欢

转载自www.cnblogs.com/wf-skylark/p/9027096.html