多线程调用第三方接口python代码
时间: 2023-09-25 20:14:07 浏览: 104
python多线程并发实例及其优化
在 Python 中,可以使用 `threading` 模块来实现多线程调用第三方接口。具体实现步骤如下:
1. 导入 `threading` 模块和需要用到的其他模块,如 `requests`。
```python
import threading
import requests
```
2. 定义一个函数,用于调用第三方接口。该函数应该包含接口的请求参数和请求头信息等。
```python
def call_api(param1, param2):
url = 'http://api.example.com'
headers = {'User-Agent': 'Mozilla/5.0'}
params = {'param1': param1, 'param2': param2}
response = requests.get(url, params=params, headers=headers)
return response.json()
```
3. 创建多个线程,并将接口调用函数作为线程的目标函数。可以通过传参的方式将不同的请求参数传递给不同的线程。
```python
t1 = threading.Thread(target=call_api, args=('value1', 'value2'))
t2 = threading.Thread(target=call_api, args=('value3', 'value4'))
```
4. 启动线程,等待线程执行结束。
```python
t1.start()
t2.start()
t1.join()
t2.join()
```
完整示例代码如下:
```python
import threading
import requests
def call_api(param1, param2):
url = 'http://api.example.com'
headers = {'User-Agent': 'Mozilla/5.0'}
params = {'param1': param1, 'param2': param2}
response = requests.get(url, params=params, headers=headers)
return response.json()
t1 = threading.Thread(target=call_api, args=('value1', 'value2'))
t2 = threading.Thread(target=call_api, args=('value3', 'value4'))
t1.start()
t2.start()
t1.join()
t2.join()
```
阅读全文