首先还是老生长谈,说说定义和作用,request模块是一个用于访问网络的模块,其实类似的模块还有很多,不在一一在这里解释。这么多的相似的模块为什么都说只有这个好用呢。因为他人性化。如果你学过urllib之类的模块的话,对比一下就很清楚了(文章url以题目实验吧的唯快不破)。
1、不管写什么样的脚本我们都知道首先要导入我们所需要的模块
2、既然这个模块是访问网络的模块我们就给他传递一个url,发送get请求。
因为在做ctf题目,所以就已题目的url为例
发送后,我们会得到这个相应对象re,里面就是我们想要的相应信息。这里如果不做任何处理输出的话会返回请求的状态码,如果希望出现内容,需要添加.text。以字符串格式输出。同理post传递也是一样的。
3、发送带参数的请求
get请求:发送get请求时,他的参数是params为关键字传递的。我们来测试一下
post请求:发送post请求时,以data为关键字参数来传递的,测试一下
4、获取响应头中的某个字段
这个我们可以利用headers,测试一下
获取全部字段
获取指定的字段,例如这个题目,我要获取FLAG字段
‘re.headers‘获取的是一个字典,我们想要获取某一个,就可以通过这种形式获取。
如果我们想要获得请求头,可以直接re.request.headers,测试一下
5、文章结尾,送上ctf题目的python脚本,题目是实验吧的唯快不破
代码
原文地址:http://blog.51cto.com/12332766/2116594