我正在努力使用公爵库Web代理抓取我有权访问的数据库。我遇到的问题是,由于数据库是通过代理服务器访问的,所以如果数据库不需要代理身份验证,我就不能直接抓取这个数据库。
我尝试了几件事:
我写了一个登录公爵网络的脚本(https://shib.oit.duke.edu/idp/AuthnEngine')。
然后我在我的登录数据中硬编码:
login_data = urllib.urlencode({'j_username' : 'userxx',
'j_password' : 'passwordxx',
'Submit' : 'Enter'
})
然后登录:
resp = opener.open('https://shib.oit.duke.edu/idp/AuthnEngine', login_data)
然后我创建一个cookie jar对象来保存来自代理网站的cookie。
然后我尝试使用我的脚本访问数据库,它仍然告诉我需要身份验证。我想知道如何绕过代理服务器所需的身份验证。
如果您有任何建议,请告诉我。
谢谢你, 扬
答案 0 :(得分:0)
代理登录不存储cookie,而是使用Proxy-Authorization
标头。每个与Cookies
类似的请求都需要发送此标头。标题与常规基本身份验证的格式相同,但可能有不同的格式(Digest
,NTLM
。)我建议您检查正常登录的标题并复制并粘贴{{1已发送的标头。