我需要通过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)
答案 0 :(得分:0)
我建议将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')
(在上面的代码中)
希望这会有所帮助