登录时传递cookie

2024-04-02

我想集成 python Selenium 和 Requests 模块以在网站上进行身份验证。

我正在使用以下代码:

import requests
from selenium import webdriver

driver = webdriver.Firefox()
url = "some_url" #a redirect to a login page occurs
driver.get(url) #the login page is displayed

#making a persistent connection to authenticate
params = {'os_username':'username', 'os_password':'password'}
s = requests.Session()
resp = s.post(url, params) #I get a 200 status_code

#passing the cookies to the driver
driver.add_cookie(s.cookies.get_dict())

问题是,当我进入浏览器时,当我尝试访问时,登录身份验证仍然存在url即使我传递了请求会话生成的cookie。

如何修改上面的代码才能通过认证网页呢?


我终于知道问题出在哪里了。 在制作之前post请求与requests库,我应该先传递浏览器的cookie。 代码如下:

import requests
from selenium import webdriver

driver = webdriver.Firefox()
url = "some_url" #a redirect to a login page occurs
driver.get(url)

#storing the cookies generated by the browser
request_cookies_browser = driver.get_cookies()

#making a persistent connection using the requests library
params = {'os_username':'username', 'os_password':'password'}
s = requests.Session()

#passing the cookies generated from the browser to the session
c = [s.cookies.set(c['name'], c['value']) for c in request_cookies_browser]

resp = s.post(url, params) #I get a 200 status_code

#passing the cookie of the response to the browser
dict_resp_cookies = resp.cookies.get_dict()
response_cookies_browser = [{'name':name, 'value':value} for name, value in dict_resp_cookies.items()]
c = [driver.add_cookie(c) for c in response_cookies_browser]

#the browser now contains the cookies generated from the authentication    
driver.get(url)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

登录时传递cookie 的相关文章

随机推荐

  • Python 中子类化 string.Template 的示例?

    尽管我在文档中看到了多次这样做的参考 但我还没有找到在 Python 中子类化 string Template 的好例子 网上有这方面的例子吗 我想将 更改为不同的字符 并且可能更改标识符的正则表达式 来自蟒蛇docs http docs
  • 谷歌应用程序引擎中的 OAuth

    我正在尝试在 python 上的谷歌应用程序引擎中实现 Oauth 对于我的应用程序 我使用 gae 会话和我的模型来验证用户身份 这对我来说会更有帮助 如果你能提供一些例子 您可能想查看以下资源 The App Engine OAuth
  • 如何测量 Spark 上查询的执行时间

    我需要测量 Apache Spark Bluemix 上查询的执行时间 我尝试过的 import time startTimeQuery time clock df sqlContext sql query df show endTimeQ
  • iOS:跨viewControllers在导航栏下方添加视图

    我有一个这样的项目 但我试图弄清楚如何在整个导航栏的导航栏下方添加横幅 以便在需要时可以将其隐藏 你们中有人知道我该怎么做吗 在主视图控制器中实现协议UINavigationControllerDelegate并在选择器中navigatio
  • in_array() 无法按预期工作[重复]

    这个问题在这里已经有答案了 对于这个数组 options Array 0 gt 0 1 gt 1 2 gt 2 PHP 返回 TRUE this gt assertTrue in array Bug options TRUE this gt
  • .NET 的 SFTP 库 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • OpenLayers 标记图标问题

    我正在我的网站中创建 OSM 地图 并使用 openlayer 添加一些标记 我的问题是我总是得到相同的标记图标
  • 有没有办法重置 Julia 中的当前工作目录?

    假设当前工作目录是C 保存 jl文件的目录 然后我将cwd切换到一些子文件夹来执行一些任务 有没有办法直接将cwd重置回C 之后 即最初的cwd 或者 是否可以独立于当前工作目录来定位正在运行的 jl 文件所在的目录 无需事先将 cwd 保
  • 如何在页面中自动刷新Cognito Token

    我使用 AWS Cognito 服务进行身份验证 在我的 Angular 7 应用程序中 我使用 Amplify Auth 来保护我的页面 如果用户在不同页面之间导航 Amplify 将自动处理令牌刷新 并且他们不会看到令牌过期 如果用户长
  • Pydev 显示未解决的导入,但脚本运行?

    我正在使用 PyDev 我正在尝试将我的项目类组织到包中 例如在一个文件夹中 我有一个模块 libraries fund price library py 在我的项目的另一个文件中 我尝试使用以下方式导入 from libraries fu
  • 如何提取文本中使用的关键字? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的
  • 使用 glFrustum 进行离轴投影

    我正在尝试使用 OpenGL 对场景进行离轴投影 并且我阅读了该文档罗伯特 库伊马的离轴投影 http csc lsu edu kooima pdfs gen perspective pdf现在对实际需要做什么有了更好的了解 但仍然有一些部
  • Java PaintComponent 告诉是否再次调用

    谷歌搜索了几天 我不知道如何判断在处理paintComponent时是否调用了paintComponent 这个过程漫长而复杂 如果我有第二个 或第三个 绘制请求 我想中止当前的绘制过程并重新开始最近的请求 你不能 打电话给paintCom
  • TensorFlow 2.0 中不再提供投影变换,我该怎么办?

    我的团队正在切换到 TensorFlow 2 0 我正在研究数据增强管道 TensorFlow 1 X 有tf contrib image transform允许投影变换 TensorFlow 中没有变换函数tf image它肯定没有tf
  • AzureDev Ops CI 构建未更新版本 (VersionPrefix)

    我有一个 Azure DevOps 管道 其中包含本地 nuget 包到本地工件存储库 然后推送到 nuget org 但是它不会更新版本并保持在1 0 0 build ver 在本地 azure DevOps 项目工件中 同时版本卡在包的
  • 如何根据控件的属性(Top/Tabstop)设置WPF动画BeginTime

    我有一个 WPF 应用程序 它在垂直堆栈面板中具有一系列按钮 类似于 DVR 菜单的外观 我想出了如何制作一个动画 当每个新的菜单页面加载时 按钮 控件全部 unfade fall deblur 无论什么 都存在 这很好 但有点太统一了 我
  • 使用非常量表达式作为模板参数

    这是后续如何获取可变参数模板类中函数指针的参数类型 https stackoverflow com questions 9065081 how do i get the argument types of a function pointe
  • 生成器完成后调用自耕农生成器

    我希望在第一个生成器完成安装后调用另一个 yeoman 生成器 这将基于我对其中一个提示给出的答案 我尝试在最后调用它 end function this installDependencies callback function if t
  • JAXB - 将 SOAP 映射到 Java 类

    我需要帮助将我的 Soap Envelope 映射到 java 类 我的目的是将结果操纵到数据库 我在获取 SOAP 信封或使用 DB 方面没有任何问题 我的问题完全在于 JABX 以及根据我的 SOAP 信封映射我的类 这是我的肥皂
  • 登录时传递cookie

    我想集成 python Selenium 和 Requests 模块以在网站上进行身份验证 我正在使用以下代码 import requests from selenium import webdriver driver webdriver