python-3.x - 以编程方式使用 python 访问具有基本身份验证和 cookie 的 https 站点
问题描述
我需要通过 Python3 访问具有基本身份验证的 https 站点。当我通过浏览器加载站点时,获取 cookie 并输入代码,我得到了 xml 格式的成功响应。我希望能够以编程方式获取 cookie(而不是从浏览器选项卡手动复制)并能够调用 url。
我需要在下面的代码中使用什么?
import certifi
import urllib3
import requests
#Problem: Avoid hard coding of cookies
cookies={
"ABC_SESSIONID_EFG_001":"XXXX"
}
url="url that is restricted to access only within corp network"
user="username"
password="password"
o = requests.get(url, auth=(user, password), cookies=cookies,
verify='./certs.pem')
print(o)
解决方案
我建议添加requests.session()
到您的代码中(它将自动为您存储 cookie)。试试下面的代码:
import certifi
import urllib3
import requests
session = requests.session()
user="username"
password="password"
session.get(url)
o = session.get(url, auth=(user, password),verify='./certs.pem')
print(o)
如果上面的解决方案不能解决问题,请尝试替换:
session.get(url)
有了这个:
session.get(url,verify='./certs.pem')
(在上面的代码中)
希望这可以帮助
推荐阅读
- javascript - 添加事件监听器
- javascript - 为什么我在 chrome 控制台中看不到我的对象反应?
- python - python matplotlib:如何控制y轴的位置
- architecture - 去中心化应用架构
- javascript - 如何在数组中获得 Firestore 收集响应?
- c# - 我们可以将 Microsoft TensorFlow 用作常规 TensorFlow 吗?
- node.js - 第一次设置护照。isAuthenticated() 总是返回 false
- css - CSS Grid 使用特定项目高度作为最大行高
- node.js - redis 服务器,node_modules,nodejs,npm
- sql - 将不同的列值传递给 where 子句