requests实现更复杂的POST

通常,你想使用requests模拟HTML中的表单内容。你只需要将一个字典传递给 data 参数;requests会将你的数据字典自动编码为表单的形式。

data = {'wd':"完美代码"}
response = requests.post('api url',data=data)

你还可以为 data 参数传入一个元组列表。在表单中多个元素使用同一 key 的时候,这种方式尤其有效:

data = (('key1', 'value1'), ('key1', 'value2'))
response = requests.post('api url',data=data)

POST JSON数据

要POST一个JSON数据,你并不需要自行编码;requests内置一个JSON编码器,你只需要将字典数据传递给json参数:

data = {'wd':"完美代码"}
response = requests.post('api url',json=data)

POST文件

使用Requests上传文件非常简单:

files = {'file': open('info.xls', 'rb')}
response = requests.post('api url',files=files)

你也可以设置文件名、文件类型和请求头:

files = {'file': ('info.xls', open('info.xls', 'rb'),
                  'application/vnd.ms-excel',
                  {'Expires': '0'}
                  )
         }
response = requests.post('api url',files=files)

你也可以将字符串作为文件来POST:

files = {'file': ('info.txt', 'hello world\n')}
response = requests.post('api url',files=files)

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/requests-post.html

分类: 计算机技术
推荐阅读:
Rust column宏的用法和示例 在 Rust 中,column宏可以获取调用它所在位置的列号,为开发人员提供有关源代码中位置的调试信息;
通过两个已知点,找出直线(y = kx + b)的方程式 解决方程组 y1 = kx1 + b和y2 = kx2 + b;其中x1,y1,x2,y2是已知变量;k和b是要找到的系数。
VirtualBox菜单隐藏了怎么打开? 我们使用VirtualBox运行虚拟机后,可以通过视图菜单改变虚拟机的显示方式,其中包括全屏模式,无缝模式,自动缩放模式,使用了这些模式后,可能导致上方的菜单消失;
为什么有大量阿里云IP访问网站? 为什么有大量阿里云IP访问网站?其原因可能有两个,一是网站被攻击,二是你使用了阿里云CDN、负载均衡等产品;
C语言程序动态创建二维数组 在本文中,你将学会使用C语言通过多种方法实现二维数组;其中包含为二维数组指针动态的分配内存、释放内存;
Python id()函数 id()是Python内置函数之一,用于返回给定对象的唯一标识符(即对象在内存中的地址)。具体来说,id()函数返回一个整数,该整数代表给定对象在内存中的地址。因为每个对象在内存中都有一个唯一的地址,所以id()函数返回的值也是唯一的。