接口测试——requests接口请求(十)
创始人
2025-05-31 14:29:29
0

1. requests库介绍与安装

  1. requests库介绍
  • requests是一款非常火爆且常用的Python三方库
  • 能够实现HTTP协议的各种请求方法
  • 使用简单易上手
  1. requests库的安装方法
  • pip install requests
  • 安装成功
    1675845092467.png

2. requests发送get接口请求

  • 查看百度的响应码:
import requestsresponse = requests.get("http://www.baidu.com")
print(response)
print(response.status_code)
print(response.text)
  • 打印结果:

200

 百度一下,你就知道  
新闻 hao123 地图 视频 贴吧 更多产品
import requests# response = requests.get("http://www.baidu.com")
# print(response)
# print(response.status_code)
# print(response.text)url = "http://localhost:5000"
# 无参数的get请求
r1 = requests.get("http://localhost:5000")
print(r1.text)
# 带路径的get请求
r2 = requests .get(url + "hello")
print(r2.text)# 路径上带参数的get请求
r3 = requests.get(url + "hello/我是参数")
print(r3.text)
# 路径上带参数,并且带有参数值得get请求
r4 = requests.get(url + "hello/args/我是参数11?key=我是key&value我是value")
print(r4.text)# 第二种带参数的方式
r5 = requests .get(url + "hello/args/我是参数222",{"key":"=我是key2","value":"我是value2"})
print(r5.text)
hello world qqqqqqqq
hello22222
hello22222我是参数
hello22222我是参数::::我是key::::我是value
hello22222我是参数::::我是key2::::我是value2

3. requests发送post接口请求

  • 发送post请求:
import requestsurl = "http://localhost:5000"
r1 = requests.post(url + "mypost")
print(r1.text)# 请求数据是表单类型的数据
r2 = requests.post(url + "myposy1",data={"username":,"我是名字","sex":"我是性别"})
print(r2.text)# 请求时json类型的数据
r3 = requests.post(url + "mypost2",json={"user":"我是json的user的key","value":"我是value"})
print(r3.text)
  • 打印结果:
post request
post request我是名字::我是性别
post request{'user':'我是json的user的key','value':'我是value','sex':'男'}

4. requests发送请求头信息

http://111.231.103.117:8083/swagger-ui.html#/

1675853376901.png
一、Requests发送HTTP请求
案例:选定某个测试的URL,利用requests库内置的不同的方法来发送不同类型(GET/POST/PUT/DELETE)的http请求,并输出响应的状态码

image.png

# 导入requests库
import requests# 定义base_url作为基础被测URL
base_url = 'http://httpbin.org'# 发送get请求;打印响应状态码
r = requests.get(base_url+'/get')
print(r.status_code)# 发送POST请求;打印响应状态码
r = requests.post(base_url+'/post')
print(r.status_code)# 发送PUT请求;打印响应状态码
r = requests.put(base_url+'/put')
print(r.status_code)# 发送DELETE请求,打印响应状态码
r = requests.delete(base_url+'/delete')
print(r.status_code)

执行结果:
发送4种不同请求,对应响应状态码都是200,请求发送OK

二、Requests参数传递
1.传递URL参数
案例:利用Requests库,在GET请求中使用查询字符串(Query String)传递参数。

# 导入requests库
import requests# 定义base_url作为基础被测URL
base_url = 'http://httpbin.org'# 定义请求所需的参数,参数之间以英文逗号隔开
param_data = {'uname':'Test00001','pwd':'123456'}
# 发送GET请求,格式如:requests.get(url,params)
r = requests.get(base_url+'/get',params=param_data)
print(r.url)    # 输出请求的url
print(r.status_code)    #输出响应的状态码

可见查询字符串参数可以使用param进行接收,参数定义为字典格式即可;

  • 2.传递Body参数
    案例:利用Requests库,在POST请求的请求体(Request Body)中传递参数
import requests
base_url = 'http://httpbin.org'form_data = {'uname':'Test00002','pwd':'123456'}
# 发送POST请求,格式如:requests.post(url,data)
r = requests.post(base_url+'/post',data=form_data)
print(r.text)   # 返回响应内容

body参数在request中使用data接收的情况比较多;

三、Requests请求头设置
1.设置Request Headers
案例:利用Requests库,为POST请求添加HTTP Headers,此时需要传递一个字典类型的数据给headers参数

import requestsbase_url = 'http://httpbin.org'form_data = {'uname':'Test00003','pwd':'123456'}
header = {'user-agent':'Mozilla/5.0'}
r = requests.post(base_url+'/post',data=form_data,headers=header)
print(r.text)  #以文本形式返回响应内容

print(r.text)代表以文本形式返回响应内容

若以上代码修改为print(r.json()),代表以json形式返回响应内容;

2.Request Headers爬虫应用
爬虫程序通过定制Request Headers来模拟浏览器的访问行为,以应对网站的反爬虫策略,避免被封。
1
如:爬取知乎页面元素时,需要设置与浏览器一致的请求头,然后再发送请求
测试url:https://www.zhihu.com/explore
(从浏览器Copy一份User-Agent作为设置的Headers)

image.png

import requests
header = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}
r = requests.get('https://www.zhihu.com/explore',headers=header)
print(r.text)

相关内容

热门资讯

能柔能刚的近义词 能柔能刚的近义词有:能刚能柔,能柔能刚[néng róu néng gāng]的意思:柔:温和;刚:...
执鞭随镫的近义词 执鞭随镫的近义词有:执鞭坠镫,执鞭随蹬,执鞭随镫[zhí biān suí dèng]的意思:比喻因...
信口开河的近义词 信口开河的近义词有:一簧两舌,信口开合,信口开呵,信口胡言,信口胡诌,信口雌黄,口不择言,天南地北,...
书香世家的近义词 书香世家的近义词有:书香人家,书香门户,诗礼人家,书香世家[shū xiāng shì jiā]的意...
如痴似醉的近义词 如痴似醉的近义词有:如痴如醉,如醉如痴,如痴似醉[rú chī sì zuì]的意思:亦作“如醉如痴...
附会穿凿的近义词 附会穿凿的近义词有:牵强附会,附会穿凿[fù huì chuān záo]的意思:将无关之事硬扯在一...
不足挂齿,不足挂齿的意思,不... 不足挂齿bù zú guà chǐ [释义]不足:不值得;挂齿:说起;提到;挂在口上。不值得在...
群芳竞艳的近义词 群芳竞艳的近义词有:群芳争艳,群芳竞艳[qún fāng jìng yàn]的意思:竞:争逐。各种花...
东西易面的近义词 东西易面的近义词有:是非颠倒,东西易面[dōng xi yì miàn]的意思:指东西方向颠倒。后比...
熊经鸟引的近义词 熊经鸟引的近义词有:熊经鸟曳,熊经鸟申,熊经鸟引[xióng jīng niǎo yǐn]的意思:同...
泥菩萨过江,自身难保的近义词 泥菩萨过江,自身难保的近义词有:泥菩萨落水,自身难保,泥菩萨过江,自身难保[ní pú sà guò...
励精求治的近义词 励精求治的近义词有:励精图治,厉精求治,励精求治[lì jīng qiú zhì]的意思:振奋精神,...
不易之典的近义词 不易之典的近义词有:不易之论,不易之典[bù yì zhī diǎn]的意思:不变的法则。出自:南朝...
厌难折冲的近义词 厌难折冲的近义词有:折冲厌难,厌难折冲[yàn nán zhé chōng]的意思:指能克服困难,抗...
四面八方的近义词 四面八方的近义词有:五湖四海,四方八面,大街小巷,山南海北,四面八方[sì miàn bā fāng...
醉翁之意的近义词 醉翁之意的近义词有:别有用心,醉翁之意,醉翁之意不在酒,醉翁之意[zuì wēng zhī yì]的...
何患无辞的近义词 何患无辞的近义词有:欲加之罪,何患无辞[hé huàn wú cí]的意思:何患:哪怕;辞:言辞。哪...
不得善终的近义词 不得善终的近义词有:不得其死,不得好死,天诛地灭,不得善终[bù dé shàn zhōng]的意思...
夜以继日的近义词 夜以继日的近义词有:不舍昼夜,专心致志,以夜继日,俾夜作昼,俾昼作夜,坐以待旦,夙兴夜寐,夜以接日,...
忍辱含羞的近义词 忍辱含羞的近义词有:忍辱含垢,忍辱含羞[rěn rǔ hán xiū]的意思:忍、含:忍受。忍受耻辱...