一、所需头文件
import requests
from requests.auth import HTTPBasicAuth
import json
二、请求信息
url = ""
auth = HTTPBasicAuth("account","api_token")
#如果auth使用不通过的话,可以再header加入Cookie
header ={
"Acept" = "",
"Content-Type":""
"Cookie":""
}
data = {
"params" = "value"
}
三、请求接口
#request请求
response = requests.request(
"get",
url,
params = params,
headers = headers,
auth = auth
)
#session 请求
session = requests.Session()
response = session.get(
url,
params=params,
headers=headers,
auth=auth
)
requests库的session会话对象可以跨请求保持某些参数,说白了,就是比如你使用session成功的登录了某个网站,则在再次使用该session对象求求该网站的其他网页都会默认使用该session之前使用的cookie等参数
保持登陆状态时运用的最多,在某些网站抓取,或者app抓取时,有的时强制登陆,有的是不登陆返回的数据就是假的或者说是不完整的数据,那我们不可能去做到每一次请求都要去登陆一下怎么办,就需要用到保持会话的功能了,我们可以只登陆一次,然后保持这种状态去做其他的或者更多的请求。
四、结果处理
将返回结果处理为json模式
response = json.dumps(json.loads(response.text), sort_keys=True, indent=4,
separators=(",", ": "))
五、异常处理
如果测试结果提示
“json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)”
检查登录信息,有可能是auth 或者Cookie有问题