需求背景:目前SaaS复制问卷的时候是通过调接口的方式进行的,在需要批量请求的情况下,大量接口需要并行的情况,需要用到异步请求
1、多个请求
ahttp:ahttp 是一个所有的http连接请求均使用
协程
的方式,使请求过程中 IO 操作交给其他硬件,而CPU专注于处理计算型任务,可以大量的节约等待的时间
ahttp的使用方式基本上和requests一致,只不过requests请求是同步,而ahttp的请求是异步。不同的是requests可以直接请求,而由于ahttp是异步的,所以需要构造好请求之后进行一次“执行”
pip install ahttp
以下用多个请求示例:整理好所有接口后,放进reqs充当请求对象,再通过ahttp.run执行这些请求
import ahttp
urls1 = [ f"https://movie.douban.com/top250?start={i*25}" for i in range(2)]
urls=[
'http://www.heroku.com',
'http://python-tablib.org',
'http://httpbin.org',
'http://python-requests.org',
'http://fakedomain/',
'http://kennethreitz.com'
reqs = [ahttp.post(i) for i in urls]
resqs = ahttp.run(reqs,order=True,pool=3)#按顺序排序,pool线程池可以设置最大并发数
多个请求(使用session)
和 前面的使用ahttp构造请求list请求相比,使用session请求速度更快,而且共享cookies,因为session创建的是一个持久的链接。由于是异步请求,得到的
resps
并不是按照
reqs
请求的顺序排列的,因此我们需要按照顺序处理,只需要在
ahttp.run
添加一个参数
order
import ahttp
urls1 = [ f"https://movie.douban.com/top250?start={i*25}" for i in range(2)]
urls=[
'http://www.heroku.com',
'http://python-tablib.org',
'http://httpbin.org',
'http://python-requests.org',
'http://fakedomain/',
'http://kennethreitz.com'
sess=ahttp.Session()#和使用ahttp构造请求list请求相比,使用session请求速度更快,而且共享cookies,因为session创建的是一个持久的链接
reqs = [sess.post(i) for i in urls]
resqs = ahttp.run(reqs,order=True,pool=3)#按顺序排序,pool线程池可以设置最大并发数
print('全部',resqs)
print('第1个',resqs[0])
1、多个请求ahttp:ahttp 是一个所有的http连接请求均使用协程的方式,使请求过程中 IO 操作交给其他硬件,而CPU专注于处理计算型任务,可以大量的节约等待的时间ahttp的使用方式基本上和requests一致,只不过requests请求是同步,而ahttp的请求是异步。不同的是requests可以直接请求,而由于ahttp是异步的,所以需要构造好请求之后进行一次“执行”安装:pip install ahttp以下用多个请求示例:reqs放了所有请求对象,再通过ahttp.
Python
接口
自动化
中,POST
请求
是常见的一种
请求
方式。POST
请求
通常用于向服务器提交数据,比如表单数据、JSON数据等。在
Python
中,我们可以使用
requests
库来发送POST
请求
。具体步骤如下:
1. 导入
requests
库
import
requests
2. 构造
请求
参数
POST
请求
通常需要传递一些参数,比如表单数据、JSON数据等。我们可以使用字典来构造
请求
参数。
data = {
'username': 'admin',
'password': '123456'
3. 发送POST
请求
使用
requests
库的post方法来发送POST
请求
,传递
请求
的URL和
请求
参数即可。
url = 'http://www.example.com/login'
response =
requests
.post(url, data=data)
4. 处理响应结果
发送POST
请求
后,服务器会返回响应结果。我们可以通过response对象来获取响应结果。
print(response.status_code) # 获取响应状态码
print(response.text) # 获取响应内容
以上就是
Python
接口
自动化
中发送POST
请求
的基本步骤。
python自动化笔记——Excel之xlrd封装
洛阳泰山: