【发布时间】:2016-10-24 07:47:26
【问题描述】:
我正在尝试从安全网络中进行网络抓取。安全性已经很严格了,我有一个用户名和密码——但是如果你打开我正在尝试使用我的程序的站点,你将不会被提示登录(因为你在网络中)。我在这里的身份验证遇到问题...
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 >:/
已解决:如果您遇到此问题,并且您尝试访问内部站点,请确保在代码中指定您的特定域。我试图登录,但计算机不知道在哪里登录。您可以通过转到控制面板>>>系统找到您所在的域,并且应该在那里列出域。谢谢!
【问题讨论】:
-
试试 oauth 库
-
-
我找到了另一个类似问题的链接 - (stackoverflow.com/questions/24805432/…)。这是一个内网公司网站……我访问时不用登录。
标签: python authentication python-requests