python请求接口方式(可进行并发测试)

使用python请求接口

python可以支持多个线程,所以可以利用python对写好的接口进行并发测试。

请求接口代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

#coding=utf-8

import requests

import json

import threading

import time

import uuid

class postrequests():

    def __init__(self):

         

        self.url = 'https://***.*****.com/user/user/login' #请求链接

        self.data = {'phone': '176*****286','code':'12***6'} #传递参数

        self.headers = {'content-type': 'application/json'} #请求头

        self.data = json.dumps(self.data)

  

    def post(self):

        try:

            r = requests.post(self.url, self.data, headers=self.headers)

            print(r.text)

        except Exception as e:

            print(e)

  

def kquan_bf():

    login = postrequests()

    return login.post()

     

  

try:

    i = 0

    # 开启线程数目

    tasks_number = 1

    print('测试启动')

    time1 = time.perf_counter()

    while i < tasks_number:

        t = threading.Thread(target=kquan_bf)

        t.start()

        i +=1

    time2 = time.perf_counter()

    times = time2 - time1

    print(times/tasks_number) #每次请求用时

except Exception as e:

    print(e)  #请求结果

结果显示:

测试启动
0.0005290000000000017
>>> {"code":0,"message":"操作成功","data":{"详细数据"}

若接口中做了并发处理,同时开启多数线程时,就会触发代码中的并发处理逻辑(如提示:服务器繁忙,请稍后再试!)

python如何调用接口

在Python中调用接口可以使用多种方式,以下是其中几种常用的方法:

使用标准库中的urllib模块或第三方库requests发送HTTP请求。

首先需要导入对应的库,然后使用相应的函数发送请求,并获得返回的结果。

例如,在使用requests库调用接口的示例代码如下:

1

2

3

4

5

6

7

8

9

10

import requests

# 发送GET请求

response = requests.get('http://api.example.com/users')

data = response.json()  # 将返回的JSON数据转换为Python对象

# 发送POST请求

payload = {'username': 'test', 'password': '123456'}

response = requests.post('http://api.example.com/login', data=payload)

data = response.json()  # 将返回的JSON数据转换为Python对象

使用第三方库httplib2

该库提供了更高级的接口调用功能,支持HTTP和HTTPS,并且支持缓存、重定向、认证等功能。

1

2

3

4

5

6

7

8

9

import httplib2

http = httplib2.Http()

response, content = http.request('http://api.example.com/users', 'GET')

data = json.loads(content)  # 将返回的JSON数据转换为Python对象

payload = {'username': 'test', 'password': '123456'}

response, content = http.request('http://api.example.com/login', 'POST', body=urlencode(payload))

data = json.loads(content)  # 将返回的JSON数据转换为Python对象

使用标准库中的subprocess模块调用命令行工具。

如果需要调用的接口是通过命令行工具提供的,可以使用subprocess模块调用该命令行工具并获取其输出。

1

2

3

4

import subprocess

output = subprocess.check_output(['curl', 'http://api.example.com/users'])

data = json.loads(output)  # 将返回的JSON数据转换为Python对象

以上是几种常用的调用接口的方法,你可以根据具体情况选择适合你的方法进行接口调用。

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值