【python笔记】requests模块基础总结

前言

菜某笔记总结,如有错误请指正。

requests用途

主要是用于发送网络请求

Requests库的主要方法和属性

r=requests.get()

  Response   Request

     对象              对象

 

r.cookies

#打印cookie

r.content

#常用于图像视频等

以上内容来自2_哔哩哔哩_bilibili

发送get请求

requests.get(url=,headers=,params=,proxies=)

  • url:请求url地址
  • headers:请求头
  • params:传递的参数
  • proxies:设置代理,需要设置http和https的字典

返回信息的打印

 

他会把返回的内容以字符串的形式表现出来

编码形式的转换

encoding是根据请求头里的情况判断编码类型

apparent_encoding是根据响应的内容进行判断编码的类型

因为请求头中有时候是没有写编码的类型的,这时候就会用默认的iso-8859-1

但是这个是不能编码汉语的,但是apparent的根据内容判断,会更准确。

所以当出现了编码错误的情况可以用这个方法改变编码

之后再r.text就可以了。一般常用'utf-8'编码。

状态判断

200代表成功,如果是其他的代表失败(当然不同状态码代表了不同含义)

传递参数

get型是有传参的,传参就需要用到params。

以下为我自己搭建的sql注入靶场

标记处就是只有在传入参数的情况下才会显示的。

令我没想到的是,第一次输入我写成我文件夹的位置了,结果他把我整个靶场的文件夹里里外外包括文件内容给我干出来了。。。。(嗯很强大)

定制请求头

这是原本get型数据包的样子

我们更改他的数据包就可以。。。。。。

于是这个数据包就变成了。。。。。。

嗯,干过网络渗透的都清楚这个有啥用*v*。

这个proxies是设置代理的意思,我这个用的burp抓包去抓这个数据包,一般是可以用一些模块去看发送的数据包,这里只是为了直观,结合我的burp展示。

发送post请求

与get请求差不多

语法:requests.post(url=,headers=,data=,proxies=)

data:发送的post数据

小案例

高级用法

session会话对象维持

用requests.Session方法可以实现发送的每个请求都是用的同一个cookie

代码写法:

post文件的上传

使用files参数

思路:用open的rb二进制模式打开文件,放到字典中。然后再把字典传入files的参数中。

先看用抓包软件抓取的数据包

先随便写个文件上传的数据包看一下files这个参数的对应数据包的位置吧

写出来的数据包是这个样子的

现在每个参数对应写到数据包参数中的位置都清楚了,那么我们开始吧~

上传位置为本地自己搭建的文件上传靶场

写代码如下

写出来的post部分跟他需求一样的

可以看到上传了

 文件下载

思路,就是把访问的内容写在文件中就是了

成功

 啧,真俊。

相关推荐

  1. Python爬虫-request模块

    2023-12-13 07:48:03       17 阅读
  2. Python常用模块06——requests

    2023-12-13 07:48:03       19 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-13 07:48:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-13 07:48:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-13 07:48:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-13 07:48:03       20 阅读

热门阅读

  1. ARM day6

    ARM day6

    2023-12-13 07:48:03      39 阅读
  2. Lua语言

    2023-12-13 07:48:03       44 阅读
  3. shared_ptr 和 make_shared 简介

    2023-12-13 07:48:03       35 阅读
  4. K8S的安装工具

    2023-12-13 07:48:03       39 阅读
  5. 第二百零三回 修改组件风格的另外一种方法

    2023-12-13 07:48:03       44 阅读
  6. EasyExcel

    2023-12-13 07:48:03       42 阅读
  7. msSQL和MySQL的区别?

    2023-12-13 07:48:03       51 阅读
  8. MySQL忘记root密码和修改root密码的解决方法

    2023-12-13 07:48:03       34 阅读
  9. 【解惑系列】如何提高一个接口的tps

    2023-12-13 07:48:03       37 阅读