教你如何用Python模拟http请求(GET,POST)

模拟http请求有什么用呢?

我们现在使用的所有需要使用网络的:软件 应用 app 网站里面的绝大部分功能都是通过http协议来工作的

什么是http协议?

http协议,超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。

需要详细了解http请自行搜索,本文简单说一下http的请求过程

由客户端发送请求,请求为一段文字(请求报文),服务端得到请求中参数,由后端进行处理,然后执行相应的功能,

由服务端返回一段文字(响应报文,也有不返回信息的),客户端拿到报文中的信息,做出相应显示。

我们以某APP用户注册为例

当用户需要注册,填写完成自己的手机号码(此时没有发生请求)

点击获取验证码按钮,此时由客户端(APP)向某个地址发送了一个请求报文,报文中包含了你填写的手机号,如图:

请求中包含了一个phone参数,值为你的手机号码

然后服务端收到你的手机号码,执行了发送短信验证码功能,然后向客户端发送了响应报文,如图:

响应报文中包含了一些参数,服务端拿到这些参数,做出相应显示(例如显示:消息发送成功)

以上就完成了一次http的交互,

根据以上实例我们就可以通过模拟请求报文,传入某人手机号,多次发送请求,实现骚扰手机号主人(短信轰炸机功能)

该如何模拟请求呢?

首先我们要安装requests模块

安装命令

pip install requests

首先分析请求

 

图中请求方式为post,所以我们要用requests.post(url,headers,data)函数,这个函数需要三个参数,我们对照图片所示

填写

Python程序中

import requests
#导入模块
url="http://bbs.zcbxw.com/mag/xxx/xx/......."#自行补全
headers={"Host":"bbs.zcbxw.com","xxx":"xxx","xx":"xx"}自行补全
data="phone=手机号码&country_code=86"
requests.post(url=url,headers=headers,data=data)
#将headers与url按照图中所示补全,其他代码不变,运行,就完成了一个请求

猜你喜欢

转载自www.cnblogs.com/WXGC-yang/p/9251315.html