request简介
requests安装
requests发送get请求
requests请求post
返回值其他内容
写在最后
在做接口测试,接口自动化测试的时候都会用到很多工具,如postman、jmeter、pytest等工具,除了这些工具外,我们也会用python的第3方库requests来做接口测试。接下来我会专门讲request的系列专题,希望大家能学好request库,为将来做接口自动化测试打好基础。
requests是python实现的简单易用的HTTP库,属于python的第3方库,通过pip进行安装使用。
requests中文文档:https://2.python-requests.org//zh_CN/latest/user/quickstart.html#
1.打开cmd
2.通过pip进行安装
# 安装requests
pip install requests
源码:
def get(url, params=None, **kwargs):
r"""Sends a GET request.
:param url: URL for the new :class:`Request` object.
:param params: (optional) Dictionary, list of tuples or bytes to send
in the body of the :class:`Request`.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:return: :class:`Response ` object
:rtype: requests.Response
"""
kwargs.setdefault('allow_redirects', True)
return request('get', url, params=params, **kwargs)
1.首先导入requests模块
2.选择get方法请求地址:https://www.cnblogs.com/qican/
3.可以查看请求的返回内容
# coding:utf-8
# 导入模块
import requests
# 请求地址
url = 'https://www.cnblogs.com/qican/'
r = requests.get(url) # 请求返回内容 text = r.text print(text)
4.请求携带参数params
5.请求地址:http://httpbin.org/get?
6.请求参数书写以字典形式编写如{ "name": "requests" }
# coding:utf-8
# 导入requests模块
import requests
# 携带参数
params = {
"name": "request",
"name1":"python"
}
# 请求地址
url = 'http://httpbin.org/get?'
r = requests.get(url,params=params)
text = r.text
print(text)
代码结果:
{
"args": {
"name": "requests",
"name1": "python"
},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.21.0"
},
"origin": "116.247.112.151, 116.247.112.151",
"url": "https://httpbin.org/get?name=requests&name1=python"
}
通过观察,可以发现最后的url地址已经被更改成了name=requests和name1=python
源码:
def post(url, data=None, json=None, **kwargs):
r"""Sends a POST request.
:param url: URL for the new :class:`Request` object.
:param data: (optional) Dictionary, list of tuples, bytes, or file-like
object to send in the body of the :class:`Request`.
:param json: (optional) json data to send in the body of the :class:`Request`.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:return: :class:`Response ` object
:rtype: requests.Response
"""
return request('post', url, data=data, json=json, **kwargs)
1.导入requests模块
2.选择post方法请求:http://apis.juhe.cn/simpleWeather/query
3.输入参数格式{”name“:”value“}
# coding:utf-8
import requests # 导入模块
url = 'http://apis.juhe.cn/simpleWeather/query' # 请求地址
# 请求参数
data = {
"city":"上海",
"key":"331eab8f3481f37868378fcdc76cb7cd"
}
r = requests.post(data=data,url=url)
print(r.text)
r.text # 返回全部内容
r.url # 返回的url地址
r.content # 返回解码后的内容
r.cookies # 返回cookies
r.headers # 返回携带的请求头
r.status_code # 返回状态码
r.json() # 返回json格式
如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!
看到这篇文章的人有觉得我的理解有误的地方,也欢迎评论和探讨~
你也可以加入下方的的群聊去和同行大神交流切磋