以编程方式使用python访问具有基本身份验证和cookie的https站点

时间:2019-06-28 11:33:43

标签: python-3.x cookies https python-requests basic-authentication

我需要通过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)

1 个答案:

答案 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')

(在上面的代码中)

希望这会有所帮助