目录:导读
前言
使用requests库可以快速、简单地完成HTTP请求,并且支持常见的HTTP请求方式(如GET、POST等),同时还支持HTTPS和身份验证等功能。与Python内置的urllib库相比,requests库接口更加人性化、易用,而且文档也很详细清晰,因此在接口自动化测试,爬虫、API调用、等场景下被广泛使用。
Python接口自动化测试:https://www.bilibili.com/video/BV16G411x76E/
请求方法
每一个请求方法都有一个对应的API,比如GET请求就可以使用get()方法:
import requests
resp = requests.get('https://www.baidu.com')
而POST请求就可以使用post()方法,并且将需要提交的数据传递给data参数即可:
resp = requests.post('http://httpbin.org/post', data = {
'key':'value'})
而其他的请求类型,都有各自对应的方法:
requests.put('http://httpbin.org/put', data = {
'key':'value'})
requests.delete('http://httpbin.org/delete')
requests.head('http://httpbin.org/get')
requests.options('http://httpbin.org/get')
非常的简单直观明了。
传递URL参数
传递URL参数不需要去拼接URL,而是简单的,构造一个字典,并在请求时将其传递给params参数:
import requests
params = {
'key1': 'value1', 'key2': 'value2'}
resp = requests.get("http://httpbin.org/get", params=params)
此时,查看请求的URL,则可以看到URL已经构造正确了:
print(resp.url)
并且,有时候我们会遇到相同的url参数名,但有不同的值,而python的字典又不支持键的重名,那么我们可以把键的值用列表表示:
params = {
'key1': 'value1'