模拟浏览器发送请求报文

简介: import socket# 建立socket对象socket_con = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 连接指定服务器地址socket_con.
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

  

                                                                   -------  知识无价,汗水有情,如需搬运请注明出处,谢谢!

目录
相关文章
|
7月前
|
编解码 移动开发 C++
初识http协议,简单实现浏览器和服务器通信
初识http协议,简单实现浏览器和服务器通信
616 0
|
10月前
|
Python
Charles修改请求数据和响应数据
Charles修改请求数据和响应数据
|
11月前
|
JavaScript
Fiddler 使用fiddler发送捕获的请求及模拟服务器返回
Fiddler 使用fiddler发送捕获的请求及模拟服务器返回
113 0
|
网络协议 JavaScript
浏览器原理 02 # TCP协议:如何保证页面文件能被完整送达浏览器?
浏览器原理 02 # TCP协议:如何保证页面文件能被完整送达浏览器?
99 0
浏览器原理 02 # TCP协议:如何保证页面文件能被完整送达浏览器?
获取网页数据 Qt 从客户端发起http响应
获取网页数据 Qt 从客户端发起http响应
144 0
|
JavaScript 开发者
HackerNews07-服务器端通过设置http响应报文头实现浏览器重定向操作|学习笔记
快速学习 HackerNews07-服务器端通过设置http响应报文头实现浏览器重定向操作
92 0
HackerNews07-服务器端通过设置http响应报文头实现浏览器重定向操作|学习笔记
|
Web App开发 开发者
使用 IE 或Chrome等浏览器,通过网络抓包的形式,查看发送请求时的网络
使用 IE 或Chrome等浏览器,通过网络抓包的形式,查看发送请求时的网络
331 0
使用 IE 或Chrome等浏览器,通过网络抓包的形式,查看发送请求时的网络
|
安全
浏览器代理服务器拒绝连接的解决
浏览器代理服务器拒绝连接的解决
4312 0
浏览器代理服务器拒绝连接的解决
|
前端开发 测试技术 API
前端 Fiddler 抓包修改请求响应结果
实际前端开发中,对接线上发布的后端接口,由于业务比较复杂,也设计到以前的库表,开发过程经常会出现部分页面数据不完整,无法对接整个流程,日常前端开发也有其他方式实现功能测试验证。
前端 Fiddler 抓包修改请求响应结果
|
Web App开发 XML Java
Java 技术篇 - 启动web服务接收浏览器请求并响应实例演示,解决socket响应浏览器显示中文乱码问题,web服务response响应设置浏览器显示字体方法
Java 技术篇 - 启动web服务接收浏览器请求并响应实例演示,解决socket响应浏览器显示中文乱码问题,web服务response响应设置浏览器显示字体方法
131 0
Java 技术篇 - 启动web服务接收浏览器请求并响应实例演示,解决socket响应浏览器显示中文乱码问题,web服务response响应设置浏览器显示字体方法