当前位置: 首页 > 面试题库 >

Python请求和持久会话

燕琨
2023-03-14
问题内容

我正在使用请求模块(Python
2.5的版本0.10.0)。我已经弄清楚了如何将数据提交到网站上的登录表单并检索会话密钥,但是我看不到在后续请求中使用此会话密钥的明显方法。有人可以在下面的代码中填写省略号还是建议其他方法?

>>> import requests
>>> login_data =  {'formPosted':'1', 'login_email':'me@example.com', 'password':'pw'}
>>> r = requests.post('https://localhost/login.py', login_data)
>>> 
>>> r.text
u'You are being redirected <a href="profilePage?_ck=1349394964">here</a>'
>>> r.cookies
{'session_id_myapp': '127-0-0-1-825ff22a-6ed1-453b-aebc-5d3cf2987065'}
>>> 
>>> r2 = requests.get('https://localhost/profile_data.json', ...)

问题答案:

您可以使用以下方法轻松创建持久会话:

s = requests.Session()

之后,请继续执行您的请求:

s.post('https://localhost/login.py', login_data)
#logged in! cookies saved for future requests.
r2 = s.get('https://localhost/profile_data.json', ...)
#cookies sent automatically!
#do whatever, s will keep your cookies intact :)

有关会话的更多信息,请访问:https : //requests.kennethreitz.org/en/master/user/advanced/#session-
objects



 类似资料:
  • 我有一个与CRUD能力的平均应用程序完全测试与邮递员。我一直试图坚持登录相当长的一段时间,现在没有运气。我已经阅读并尝试了以下内容 护照文档 Toon Io关于登录的博客 快速会话 苏格兰io,节点auth容易 加上一些其他简单的阅读材料(很多这样的问题) 但是我只能注册和登录一个用户,不能用会话持久登录。 下面是我对用户登录的理解,包括我的项目中的代码示例和邮递员结果的截图以及控制台日志。 我有

  • 问题内容: 我需要编写一个Python脚本,该脚本向同一站点发出多个HTTP请求。除非我错了(而且我很可能会这样),否则urllib会为每个请求重新进行身份验证。出于某种原因,我将不进行讨论,我需要能够进行一次身份验证,然后将该会话用于其余的请求。 我正在使用python 2.3.4 问题答案: 如果要保留身份验证,则需要重用cookie。我不确定urllib2在python 2.3.4中是否可用

  • 问题内容: 在CentOS 6.3上与Python 2.7,Apache + mod_wsgi一起运行 当我在localhost上时,一切正常。但是,当我在Azure中的vm上运行代码时,我看不到会话信息在页面之间保留。 基本上我的看法是: 打印输出为: 我对apache的wsgi配置是: 我设置了secret_key: 我尝试同时设置SERVER_NAME,但这无济于事: 关于如何进行更多调试的

  • 我正在使用网络逻辑10.3。我正在尝试配置一个持久订阅,其中包含由 jdbc 存储(在 Oracle DB 中)支持的持久消息。我有一个主题,MDB 正在作为持久订阅者侦听该主题。在场景-1下:如果我发送消息,它会命中MDB。 在场景2中:我挂起了MDB,希望发送到主题的消息只要不被MDB(它是唯一注册的持久订阅者)使用,就会一直存在。但是当我向主题发送消息时,它短暂地出现在那里,然后就消失了(我

  • 问题内容: 有没有办法在python中“持久”进行子过程调用?我正在调用一个程序,该程序需要一段时间才能加载多次。因此,如果我不关闭程序就可以保持打开状态并与之通信,那将是很好的。 我的python脚本的卡通版本如下所示: 我需要分别处理每个文本,因此将它们全部合并到一个大文本文件中并进行一次处理不是一种选择。 最好,如果有这样的选择 我可以让流程保持开放状态,对此我将非常感激。 问题答案: 您可

  • 问题内容: 我正在尝试使用Python请求登录LinkedIn: 我似乎无法使用此方法登录。我什至尝试在有效负载中使用csrf等,但是会话不是应该为您解决吗? 关于最后一行的注意事项:我使用标题来检查是否已成功登录。(如果我已经登录,则应该看到“ Welcome!| LinkedIn”,而我会看到“世界上最大的专业网络| LinkedIn”) 我想念什么吗? 问题答案: 我修改了一个网络抓取模板,