Requests教程-9-cookies参数

领取资料,咨询答疑,请➕wei:  June__Go

上一小节中,我们学习了requests的headers请求头的使用方法。,本小节我们讲解一下requests的cookies参数使用方法。

  • 接口中的cookies和session到底是个什么东西?

http请求是无状态的,即在客户端浏览器向服务器发送http请求,服务器做出响应之后,二者便会断开连接(一次会话结束)。那么下次用户再来请求服务器,服务器没有任何办法去识别此用户是谁。比如web系统常用的用户登录功能,如果没有cookie机制支持,那么只能通过查询数据库实现,并且要命的是每次刷新页面都要重新输入表单信息查询一次数据库才可以识别用户,这会给开发人员带来大量冗余工作并且简单的用户登录功能会给服务器带来巨大的压力。

在此背景下,就急需一种机制来解决此问题。分析可知,以上需求的实现就要客户端每次访问服务器时从客户端带上一些数据(相当于身份证)告知服务器自己是谁。这个数据就是cookies。

  • cookies的定义

cookies是一种存储在本地计算机上(一般是在浏览器中)的小型数据文件,用于跟踪、记录并识别用户。它们通常由网站生成,并通过网络传输到用户计算机中的网络浏览器,以便在用户浏览网站时识别用户。通过使用cookies,网站可以记住用户偏好设置、购物车内容、用户身份验证以及其他一些有用的信息。

  • 那么有了cookies,为什么还要有session?

有了cookies可以向服务器证明用户身份了,cookies是存在于客户端的,将用户详细信息例如姓名,年龄,性别等信息,通过网络发送到客户端保存是极不安全的。且cookie大小不能超过4k,不能支持中文。这就限制cookie不能满足存储用户信息的需求。这就需要一种机制在服务器端的某个域中存储一些用户数据,这个域就是session。sessions数据存储服务端,比cookies更安全。

可以使用requests.get方法中的cookies参数,在请求中设置cookies,示例如下:

import requests

# 定义cookies
cookies = {'cookie_name': 'cookie_value'}

# 发送GET请求并添加Cookie
response = requests.get('https://www.example.com', cookies=cookies)
print(response.text)

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走,希望可以帮助到大家!领取资料,咨询答疑,请➕wei:  June__Go

你可能感兴趣的:(Requests教程,python)