首先还是老生长谈,说说定义和作用,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脚本,题目是实验吧的唯快不破

代码