欢迎大家搜索关注微信公众号“米兔软件测试”,测试开发工程师技术修炼小站,持续分享测试干货。
上一小节中,我么已经对requests的响应内容做了详细的解析,本小节我们讲解一下requests的get请求的使用方法。
首先我们需要了解一下requests.get方法的源码,键盘按照ctrl键,点击get,即可查看该方法的源码。
源码如下:
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 query string for the :class:`Request`.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:return: :class:`Response <Response>` object
:rtype: requests.Response
"""
return request("get", url, params=params, **kwargs)
上图所示get方法有3个入参,1个return函数,返回一个request方法的调用。
url:代表接口请求的url
parms: 代表接口请求参数,一般是字典格式,比如kw = {'s':'requests教程'}
**kwargs:代表接口请求可选参数,是一种key-value键值对参数,比如在接口请求中添加请求头信息headers="xxxx"
接下来,我举例一个完整参数的例子演示一下,如何使用requests发送get请求。
# 导入 requests包
import requests
# 设置请求参数
kw = {'s': 'python 教程'}
# 设置请求头
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"}
# 设置cookies
cookies = {"from-my": "browser"}
# 设置是否重定向
allow_redirctes = False
# 设置超时时间
timeout = 5
# params 接收一个字典或者字符串的查询参数,字典类型自动转换为url编码,不需要urlencode()
response = requests.get("https://www.runoob.com/", params=kw, headers=headers, cookies=cookies,
allow_redirctes=allow_redirctes, timeout=timeout)
# 查看响应状态码
print(response.status_code)
# 查看响应头部字符编码
print(response.encoding)
# 查看完整url地址
print(response.url)
# 查看响应内容,response.text 返回的是文本格式的数据
print(response.text)
# 查看响应内容,response.json 返回的是json格式的数据
print(response.json())
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走,希望可以帮助到大家!