Python使用requests模块与Web应用进行交互

发布时间:2021-09-16 22:17:51 作者:chen
来源:亿速云 阅读:200

本篇内容主要讲解“Python使用requests模块与Web应用进行交互”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python使用requests模块与Web应用进行交互”吧!


requests模块

接触过Python爬虫的同学,对requests模块都不会陌生。这是一个高效便捷快速友好的HTTP请求库。


与爬虫类似,进行Web渗透测试也需要对Web应用进行请求,与网站进行交互或者是遍历网站路径亦或是测试SQL注入漏洞,还是上传带有后门的表单文件。

requests模块支持多种HTTP请求方式,基本上涵盖了HTTP协议所定义的请求方法:

Python使用requests模块与Web应用进行交互

同时能够方便地查看请求和响应的信息。

下面我们通过写一个脚本,实际的使用一下requests这个库。

第一个脚本

第一个例子,我们使用requests库对上一篇介绍的HTTP请求和响应测试网站www.httpbin.org的/ip路径进行一个GET请求。

Python使用requests模块与Web应用进行交互

运行脚本,结果返回和浏览器上打开的结果一致的信息:

Python使用requests模块与Web应用进行交互

我们再来访问一下httpbin.org的跳转重定向链接:

Python使用requests模块与Web应用进行交互

这个链接会跳转到example.com的网站上。在这里,我们使用params参数来传递重定向的值:

Python使用requests模块与Web应用进行交互

返回了200状态码,表示请求成功:

Python使用requests模块与Web应用进行交互

我们可以再通过requests来看看头域的信息:

Python使用requests模块与Web应用进行交互

结果返回了:

Python使用requests模块与Web应用进行交互

设置请求头域

默认情况下,requests会使用自己的请求头,但是我们可以修改它。
比如:

httpbin.org提供了一个测试http头域的工具:/headers:

Python使用requests模块与Web应用进行交互

其会返回客户端的请求头。我们直接使用requests.get请求一下,看看返回的结果:

Python使用requests模块与Web应用进行交互

可以看到,在默认请求下,requests的浏览器标识为“python-requests/2.18.2”,接受所有类型的响应:

Python使用requests模块与Web应用进行交互

下面,我们使用requests请求方法中的headers属性,将我们的请求头域修改一下,浏览器标识改为Iphone X:

Python使用requests模块与Web应用进行交互

结果我们的浏览器标识成功改成了Iphone X :

Python使用requests模块与Web应用进行交互

提交POST表单

在Web渗透测试之中,表单是测试的一个重点。有表单的地方就有输入,有输入的地方就会与服务器进行交互,有交互的地方就有机会出现漏洞,像经典的SQL注入多数情况下就是通过在输入框中构造SQL语句来达到入侵的效果。

在requests中,我们通过post()方法来进行POST请求,使用它的data属性来传输表单数据,同样是利用httpbin.org提供的post测试路径:

Python使用requests模块与Web应用进行交互

看看返回的结果:

Python使用requests模块与Web应用进行交互

表单数据中,是我们传输的name数据。

到此,相信大家对“Python使用requests模块与Web应用进行交互”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

推荐阅读:
  1. HTTP协议(9)Python requests模块的使用
  2. Python requests模块session的用法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:scala隐式转换的用法

下一篇:OpenSceneGraph如何导出三角形数据

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》