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

分类: 计算机技术
推荐阅读:
Python callable()函数 在 Python 中,callable() 是一个内置函数,用于检查给定对象是否是可调用的。如果对象是可调用的,则返回 True,否则返回 False。
Python中@property和@*.setter装饰器的详细用法 @property装饰器的作用是,将一个函数装饰成为类的一个属性,当某个属性需要动态的计算时,用@property来装饰函数最好不过了;
Rust实现删除文件 在 Rust 中,要删除文件,您可以使用标准库中的 std::fs 模块的 remove_file 函数。
网站被QQ拦截的解决方法 本文将讨论网站被拦截后的表现、被拦截的原因,以及使用官方通道进行申诉的方法;
Rust解析JSON,结构体序列化和反序列化 JSON一种常用的由键值对组成的数据对象;本文将通过多个例子讲解在Rust中如何解析JSON内容,以及如何将结构体转换成JSON字符串。
MIPS指令的操作码和操作数 MIPS指令由操作码和操作数组成。操作码指定指令的类型,操作数则指定指令要操作的寄存器或者立即数。在MIPS指令集中,操作码通常占据指令的高6位,操作数则根据指令类型和格式的不同而有所区别。