模拟浏览器发送请求报文

简介: 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

  

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

目录
相关文章
|
2月前
|
测试技术
用navigator.sendBeacon完成网页埋点异步请求记录用户行为,当网页关闭的时候,依然后完美完成接口请求,不会因为浏览器关闭了被中断请求。
用navigator.sendBeacon完成网页埋点异步请求记录用户行为,当网页关闭的时候,依然后完美完成接口请求,不会因为浏览器关闭了被中断请求。
Request请求转发和重定向的资源路径问题,目录到底加不加,取决于浏览器用,还是服务器用,规避项目目录发生修改,导致重定向失败
Request请求转发和重定向的资源路径问题,目录到底加不加,取决于浏览器用,还是服务器用,规避项目目录发生修改,导致重定向失败
|
1月前
|
域名解析 存储 缓存
HTTP请求流程概览:浏览器构建请求行含方法、URL和版本;检查缓存;解析IP与端口
【6月更文挑战第23天】 HTTP请求流程概览:浏览器构建请求行含方法、URL和版本;检查缓存;解析IP与端口;TCP连接(HTTP/1.1可能需排队);三次握手;发送请求头与体;服务器处理并返回响应;TCP连接可能关闭或保持;浏览器接收并显示响应,更新缓存。HTTP版本间有差异。
38 5
|
29天前
|
JSON JavaScript 数据格式
postman如何模拟浏览器发送post请求,意思是替代Vue向后端发送一个请求
postman如何模拟浏览器发送post请求,意思是替代Vue向后端发送一个请求
|
2月前
|
前端开发 JavaScript API
如何在不同浏览器中创建和使用 XMLHttpRequest 对象来执行 HTTP 请求
如何在不同浏览器中创建和使用 XMLHttpRequest 对象来执行 HTTP 请求
|
2月前
|
缓存 安全
控制浏览器发送请求采用请求方式的详细介绍
本文讲述了HTTP请求的GET和POST两种主要方式。GET请求限制参数不超过4K,参数显示在地址栏并缓存资源;POST请求能携带任意数量参数,参数隐藏在请求体,不保存资源。GET常用于超链接和表单默认提交,POST适用于文件上传、登录验证和获取实时数据等场景,因安全考虑,部分网站仅接受GET请求。可通过表单的method属性设置请求方式,默认为GET。
|
2月前
|
前端开发 JavaScript
同源策略下,服务器会收到浏览器的请求吗?
同源策略下,服务器会收到浏览器的请求吗?
|
2月前
|
安全 开发者
【问题篇】浏览器get请求带token
【问题篇】浏览器get请求带token
185 0
|
2月前
|
Web App开发 缓存 JSON
|
2月前
|
存储 缓存 Java
从浏览器发送请求给SpringBoot后端时,是如何准确找到哪个接口的?(下篇)
从浏览器发送请求给SpringBoot后端时,是如何准确找到哪个接口的?(下篇)
106 1

热门文章

最新文章