模拟浏览器发送请求报文

Posted __S k y L a r k

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模拟浏览器发送请求报文相关的知识,希望对你有一定的参考价值。

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

  

以上是关于模拟浏览器发送请求报文的主要内容,如果未能解决你的问题,请参考以下文章

Python模拟浏览器实现网页访问

3-4:一个简单的HTTP服务器

浅析HTTP协议的请求报文和响应报文

http报文详解

HTTP基础

java 怎样发送 POST