前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >HTTP协议无状态,该怎么解决?

HTTP协议无状态,该怎么解决?

原创
作者头像
阿秋数据采集
发布于 2023-02-20 09:13:14
发布于 2023-02-20 09:13:14
81000
代码可运行
举报
文章被收录于专栏:HTTP教程HTTP教程
运行总次数:0
代码可运行

HTTP协议无状态,书面点的说法是指协议对于交互性场景没有记忆功能,直白点的说,就是HTTP刷新后,不记得你之前做了什么设置,通常要解决cookie记录登录状态的方法有以下几种:

1.直接把用户名和密码保持到cookie中,不过目前此类方法风险比较大,一般不把密码等重要信息保存到Cookie中。

2.把密码加密后保存到Cookie中,下次访问时解密并与数据库比较。

3.加密账号后连同账号一块保存到Cookie中。

4.利用session会话将cookies等值自动传到下一个接口。Session相当于程序在服务器上建立的一份客户档案,客户来访的时候只需要查询客户档案表就可以了。

手动传cookies有一定的繁琐:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import requests
 
# 登录接口
log_url = "http://shopxo.hctestedu.com/index.php?s=/index/user/login.html"
# 登录参灵敏
data = {"accounts": "longge",
        "pwd": "888888"}
# 头部信息
head = {"X-Requested-With": "XMLHttpRequest"}
login_response = requests.post(log_url, data=data, headers=head)
 
# 获取cookie,传给下面订单接口
cookie = login_response.cookies
 
# 订单接口
order_url = "http://shopxo.hctestedu.com/index.php?s=/index/cart/index.html"
order_response = requests.get(order_url, cookies=cookie)
print(order_response.text)

不过我们也可以尝试session会话管理,订单接口自动带上cookeis,这样我们就可以保持会话,将cookies等值自动传到下一个接口:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import requests
 
# 登录接口
log_url = "http://shopxo.hctestedu.com/index.php?s=/index/user/login.html"
# 登录参灵敏
data = {"accounts": "longge",
				"pwd": "888888"}
# 头部信息
head = {"X-Requested-With": "XMLHttpRequest"}
 
# 实例化session对像
session = requests.session()
 
login_response = session.post(log_url, data=data, headers=head)
 
# 订单接口
order_url = "http://shopxo.hctestedu.com/index.php?s=/index/cart/index.html"
# 不用手动传入cookies值,因为session自动带上了
order_response = session.get(order_url)
print(order_response.text)
# 打印cookies
print(session.cookies)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Hgame_week3_web
Payload : 1andif((1=2),exp(999999999),1)#
安恒网络空间安全讲武堂
2019/03/08
1.1K0
Hgame_week3_web
Python—requests模块详解
Request支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动响应内容的编码,支持国际化的URL和POST数据自动编码。
forxtz
2020/10/10
3.1K0
什么是Http无状态?Session、Cookie、Token三者之间的区别
在点击一个纯的html网页,请求获取服务器的html文件资源时,每次http请求都会返回同样的信息,因为这个是没有交互的,每一次的请求都是相互独立的。第一个请求和第二个请求也没有先后顺序,返回处理哪个,结果都是同样的资源页面,因为这种场景是无交互的,无论是什么人请求这个地址,服务器都是返回那个相同的响应。
翎野君
2023/05/12
9260
什么是Http无状态?Session、Cookie、Token三者之间的区别
Python模拟登录的几种方法
  简单地说,cookie保存在发起请求的客户端中,服务器利用cookie来区分不同的客户端。因为http是一种无状态的连接,当服务器一下子收到好几个请求时,是无法判断出哪些请求是同一个客户端发起的。而“访问登录后才能看到的页面”这一行为,恰恰需要客户端向服务器证明:“我是刚才登录过的那个客户端”。于是就需要cookie来标识客户端的身份,以存储它的信息(如登录状态)。
菲宇
2019/06/13
4.4K0
Python模拟登录的几种方法
cookie 免密登录了解一下
我们都知道 HTTP 是无状态的,用户每次打开 web 页面时,服务器都打开新的会话,而且服务器也不会自动维护客户的上下文信息,那么服务器是怎么识别用户的呢?
崔庆才
2019/08/20
2K0
cookie 免密登录了解一下
Python进阶33-Django cookie和session
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
DriverZeng
2022/09/26
7220
Python进阶33-Django cookie和session
Niushop最新版Getshell
按照知识共享署名-非商业性使用 4.0 国际协议进行许可,转载引用文章应遵循相同协议。
逍遥子大表哥
2021/12/17
6500
Niushop最新版Getshell
爬虫篇| Requests库详细的用法(四)
对了解一些爬虫的基本理念,掌握爬虫爬取的流程有所帮助。入门之后,我们就需要学习一些更加高级的内容和工具来方便我们的爬取。那么简单介绍一下 requests 库的基本用法。
润森
2019/08/29
6600
爬虫篇| Requests库详细的用法(四)
蓝墨云班课资源下载不了_蓝墨云班课老师怎么用
看见有人详细讲解了下载文件的原理,在这里我就不赘述了,直接上写好的代码。可能乱了点。 有一点要提前说一下,做这个的时候,我想着只下载没有获得经验的文件。已经获得过经验的文件因为我用不到,所以就不用下,当然,改一下代码的话获得过经验的也能下。相关的代码在download_sours函数里面,jy表示的是经验,jy=N代表没获得经验的文件,改一下就行,去掉这个判断条件就能下载已经获得经验的资源了。
全栈程序员站长
2022/11/15
1.5K0
requests+BeautifulSoup详解
简介 Python标准库中提供了:urllib、urllib2、httplib等模块以供Http请求,但是,它的 API 太渣了。它是为另一个时代、另一个互联网所创建的。它需要巨量的工作,甚至包括各种方法覆盖,来完成最简单的任务。 Requests 是使用 Apache2 Licensed 许可证的 基于Python开发的HTTP 库,其在Python内置模块的基础上进行了高度的封装,从而使得Pythoner进行网络请求时,变得美好了许多,使用Requests可以轻而易举的完成浏览器可有的任何操作。 请求的
人生不如戏
2018/07/05
1.6K0
POC编写入门
需要强调一点,在扫描的过程中,只需要证明漏洞存在就行。并且报告中不能出现管理员账号密码,只需要证明可以执行SQL语句即可
Naraku
2021/07/29
2.6K0
POC编写入门
requests库使用:通过cookie跳过验证码登录,并用Session跨请求保持cookie
fiddler会抓到一个请求,查看Inspectorstab中的Raw,可以看到请求头的详细信息
冰霜
2022/03/15
2.5K0
requests库使用:通过cookie跳过验证码登录,并用Session跨请求保持cookie
Python模块-Requests学习与CTF和AWD实战
为什么学习Requests模块呢,因为最近老是遇见它,自己又不太懂,加之在很多Web的poc里面Requests模块的出镜率很高,于是特此学习记录之。
小简
2022/12/28
2.1K0
Python模块-Requests学习与CTF和AWD实战
【愚公系列】2022年01月 Django商城项目12-登录界面-登录和退出功能实现
登录和退出功能取决与是否有cookie,在页面加载时vue会自动获取cookie数据进行判断用户是否登录,进行相应展示。
愚公搬代码
2022/01/17
4660
【愚公系列】2022年01月 Django商城项目12-登录界面-登录和退出功能实现
登录态数据抓取:Python爬虫携带Cookie与Session的应用技巧
在进行网络数据抓取时,有些数据需要用户处于登录状态才能获取。这时就需要使用Cookie和Session来维持登录态。Cookie是服务器发给浏览器的小数据片段,存储在用户计算机中,用于在用户请求时辨识用户身份。Session则是存储在服务器端的用户会话信息,用于保持用户的活动状态。
小白学大数据
2024/06/08
4560
浅谈 SESSION_UPLOAD_PROGRESS 的利用
PHP将session以文件的形式存储在服务器某个文件中,可以在php.ini里面设置session的存储位置session.save_path。
亿人安全
2022/06/30
3.3K0
浅谈 SESSION_UPLOAD_PROGRESS 的利用
爬虫系列(14)Scrapy 框架-模拟登录-Request、Response。
通常,Request对象在爬虫程序中生成并传递到系统,直到它们到达下载程序,后者执行请求并返回一个Response对象,该对象返回到发出请求的爬虫程序。
野原测试开发
2019/07/10
1.7K0
爬虫系列(14)Scrapy 框架-模拟登录-Request、Response。
保持HTTP会话状态:缓存策略与实践
HTTP协议本身是无状态的,意味着服务器不保留任何关于客户端请求之间的信息。然而,许多应用需要识别和跟踪用户会话,以提供个性化内容、维护登录状态和执行安全检查。因此,保持HTTP会话状态变得尤为重要。
小白学大数据
2024/10/31
2310
某宝抢购脚本
Taobaosnap is a completely open tool, which is used to buy goods in seconds on Taobao. This is a project created with python, using selenium and requests module to achieve login and snap-up. The project integrates network script ideas and improves them, using selenium to realize remote login and login verification problems. Use requests for snapping without rendering, reducing the time required for access and snapping. Use the countdown idea to realize automatic snapping when the time is up. The number of times of use is set, which is convenient for reading and analyzing the program log after the snap-up is over.(This description is for versions higher than 3.1.5)
中龙技术
2022/09/29
3.6K1
某宝抢购脚本
django组件--cookie与session
在一个会话的多个请求中共享数据,这就是会话跟踪技术。例如在一个会话中的请求如下: 请求银行主页; 
py3study
2018/08/03
6890
相关推荐
Hgame_week3_web
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验