首页 > 解决方案 > 以编程方式使用 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)

标签: python-3.xcookieshttpspython-requestsbasic-authentication

解决方案


我建议添加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')

(在上面的代码中)

希望这可以帮助


推荐阅读