我正在尝试网页抓取一个要求提供凭据作为弹出窗口的网站。
这是当网站需要HTTP Auth时获得的弹出窗口。
import requests
r = requests.get('https://thewebsiteiwant.com', auth=('Myuser', 'Mypass'))
print(r.status_code) #This is now 401, however it used to be 200
我尝试过的事情:
requests.Session()
,然后首先发布到登录页面。技术上有一个登录页面,但是在尝试直接访问页面时根本不显示该页面。Selenium不适用于此项目。该程序将在无头RPi上运行。
答案 0 :(得分:1)
如果auth正常工作(手动输入),也许你可以尝试为你的身份验证选择dormain,这样程序就知道你准备登录的确切位置。这可以通过使用找到here.
的模块request_ntlm
来实现
您可以通过以下方式使用它:
from requests_ntlm import HttpNtlmAuth
您将auth
放在request.get()
:
auth=HttpNtlmAuth('DOMAIN HERE\\user','pass')