我试图从安全的网络中进行网络搜索。安全性已经很紧,我有一个用户名和密码 - 但是如果你打开网站我试图继续我的程序,你就不会被提示登录(因为你在里面网络)。我在这里遇到了身份验证问题......
import requests
url = "http://theinternalsiteimtryingtoaccess.com"
r = requests.get(url, auth=('myusername', 'mypass'))
print(r.status_code)
>>>401
我已经尝试过HTTPBasicAuth,但这也没有用。有没有办法要求解决这个问题? 只是另一个注意事项,' urlopen'命令将在命令时打开此站点,无需任何身份验证...请帮忙!谢谢!
编辑:找到这个问题后 - (How to scrape URL data from intranet site using python?),我尝试了以下内容:
import requests
from requests_ntlm import HttpNtlmAuth
r = requests.get("http://theinternalsiteimtryingtoaccess.aspx",auth=HttpNtlmAuth('NEED DOMAIN HERE\\usr','pass'))
print(r.status_code)
>>>401 #still >:/
已解决:确保如果您遇到此问题,并且尝试访问内部网站,请在代码中指定您的特定网域。我试图登录,但计算机不知道在哪里登录。您可以通过转到控制面板>>>找到您所在的域名。系统和域名应该列在那里。谢谢!
答案 0 :(得分:0)
我们极不可能为您提供问题的确切解决方案,但我猜想Intranet使用某种公司代理。我认为您的请求需要直接发送到代理,而不是像它打到外部公共站点。
有关此内容的更多信息,请查看官方文档。
http://docs.python-requests.org/en/master/user/advanced/#proxies