教你如何用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按照图中所示补全,其他代码不变,运行,就完成了一个请求
教你如何用Python模拟http请求(GET,POST)的更多相关文章
- python模拟Get请求保存网易歌曲的url
python模拟Get请求保存网易歌曲的url 作者:vpoet mail:vpoet_sir@163.com 日期:大约在夏季 #coding:utf-8 import requests impor ...
- 以下三种下载方式有什么不同?如何用python模拟下载器下载?
问题始于一个链接https://i1.pixiv.net/img-zip-...这个链接在浏览器打开,会直接下载一个不完整的zip文件 但是,使用下载器下载却是完整文件 而当我尝试使用python下载 ...
- python模拟http请求
下文主要讲述如何利用python自带的库模拟http请求,为以后利用python做API测试做准备. 只讲述模拟http的过程,具体到自己用的时候,要以自己的应用为准做出适当的调整. #!coding ...
- python模拟http请求2
发现了一个非常好用的第三方module:requests,模拟接口非常简单. 详细了解请移步:http://docs.python-requests.org/en/latest/ 非常不错 #!cod ...
- 一篇文章教你如何用 Python 记录日志
前言: 这篇文章是我copy别人的,但是个人认为讲的真的很细致,有原理有实例,不仅仅只教你如何使用日志更会叫你知道日志的原理,真的非常棒,虽然文章很长,也许你不会认认真真读完, 但是当你遇到问题时这篇 ...
- Python 模拟post请求
# coding:utf-8import requestsurl = "https://passport.cnblogs.com/user/signin" # 接口地址 # 消息头 ...
- 教你如何用Python向手机发送通知
------------恢复内容开始------------ 你曾想尝试在服务器端或电脑上向手机发送通知吗? 你曾烦恼过企业邮箱的防骚扰机制吗? 现在,我们可以用一种简单轻松的方法来代替企业邮箱了! ...
- 万字教你如何用 Python 实现线性规划
摘要:线性规划是一组数学和计算工具,可让您找到该系统的特定解,该解对应于某些其他线性函数的最大值或最小值. 本文分享自华为云社区<实践线性规划:使用 Python 进行优化>,作者: Yu ...
- 一步一步教你如何用Python做词云
前言 在大数据时代,你竟然会在网上看到的词云,例如这样的. 看到之后你是什么感觉?想不想自己做一个? 如果你的答案是正确的,那就不要拖延了,现在我们就开始,做一个词云分析图,Python是一个当下很流 ...
随机推荐
- Apple Watch Series 6 编织表带如何清洗
Apple Watch Series 6 编织表带如何清洗 如何清洁 Apple Watch https://support.apple.com/zh-cn/HT204522 refs xgqfrms ...
- git merge bug
git merge bug 本地分支 dev commit 后, 直接 pull 远程 dev 分支, 导致远程 dev 分支 merge 到本地 dev 分支了, 取消本次 merge 操作? Re ...
- Navigator.registerProtocolHandler All In One
Navigator.registerProtocolHandler All In One Web API custom protocol URL Schemes URL Protocols https ...
- js in depth & prototype & __proto__
js in depth & prototype & proto 实例的 proto 与 父类的 prototype,同时指向 父类的构造函数: https://hackernoon.c ...
- 备战春招!开源社区系统 Echo 超全文档助力面试
博主东南大学硕士在读,寒假前半个月到现在差不多一个多月,断断续续做完了这个项目,现在终于可以开源出来了,我的想法是为这个项目编写一套完整的教程,包括技术选型分析.架构分析.业务逻辑分析.核心技术点分析 ...
- Java SE7虚拟机指令操作码助记符
本文转载自Java SE7 虚拟机指令操作码助记符 导语 在Class文件中,Java方法里的方法体,也就是代表着一个Java源码程序中程序的部分存储在方法表集合的Code属性中.存储在Code属性中 ...
- 内核栈与thread_info结构详解
本文转载自内核栈与thread_info结构详解 什么是进程的内核栈? 在内核态(比如应用进程执行系统调用)时,进程运行需要自己的堆栈信息(不是原用户空间中的栈),而是使用内核空间中的栈,这个栈就是进 ...
- 生成类库项目时同时生成的pdb文件是什么东东?
英文全称:Program Database File Debug里的PDB是full,保存着调试和项目状态信息.有断言.堆栈检查等代码.可以对程序的调试配置进行增量链接.Release 里的PDB是p ...
- es命令测试
1.新建索引并赋值 :put/索引名/文档名/id //文档名后面会逐渐取消 相当表 PUT /test1/type1/1{ "nmae":"hb", &quo ...
- rar密码破解工具汇总
rar密码破解工具汇总 前言 假如酷爱在网络上找各种资源的你,经历千辛万苦终于找到了一个rar打包的文件,兴奋地慌忙点击,可打开才发现是加密的,相信这样的场景很多人都遇到过,今天就针对压缩文件密码的破 ...