接口测试之requests添加cookie登录

cookies有何用处?与session有什么区别?详情请查看:https://blog.csdn.net/xxlovesht/article/details/80918151

cookie 是一种发送到客户浏览器的文本串句柄,并保存在客户机硬盘上,可以用来在某个WEB站点会话间持久的保持数据。

session其实指的就是访问者从到达某个特定主页到离开为止的那段时间。 Session其实是利用Cookie进行信息处理的,当用户首先进行了请求后,服务端就在用户浏览器上创建了一个Cookie,当这个Session结束时,其实就是意味着这个Cookie就过期了。
注:为这个用户创建的Cookie的名称是aspsessionid。这个Cookie的唯一目的就是为每一个用户提供不同的身份认证。

cookie和session的共同之处在于:cookie和session都是用来跟踪浏览器用户身份的会话方式。

cookie 和session的区别是:cookie数据保存在客户端,session数据保存在服务器端。

一、获取cookie

二、使用cookie

(1)在get或者post请求直接添加cookies,只需要添加cookies的name和value值,添加的cookie为字典模式

cookie={

name:value

}
url="XXXXXXXXXXXX"#只有登录成功才能查看的网址
s = requests.session()
re=s.get(url=url,cookies=cookie)

(2)headers中添加cookie

headers = {

'User-Agent':'xxxxxxxxxxxxxx',

'cookie':'sid=xxxxxxx'

}
response = requests.post(url,data=data,headers=headers)

以下为慕课网通过selenium登录成功后,获取cookie保存至muke.json文件,通过读取文件添加cookie

以慕课网为例,以下为慕课网cookie文件内容:

实现登录代码如下:

url="https://m.imocc.com/password/user/login"
dict_cookie={}
with open("d:/muke.json",'r',encoding="utf-") as f:
    cookies=json.loads(f.read())
for i in cookies:
    if i['name']=="apsid":
        dict_cookie=i
cookie={
    dict_cookie['name']:dict_cookie['value']
    }
url="https://www.imooc.com/u/index/follows"
s = requests.session()
re=s.get(url=url,cookies=cookie)
print (re.text)

猜你喜欢

转载自blog.csdn.net/qq_35577990/article/details/89819846
今日推荐