Python 如何使用windows身份验证将JSON导入数据帧

Python 如何使用windows身份验证将JSON导入数据帧,python,pandas,Python,Pandas,我试图使用read_json函数从使用windows身份验证的intranet站点将json读取到pandas数据帧中,但我得到了401错误 谷歌搜索显示,邮递员阅读windows认证json的类似问题通过Fiddler的“自动授权”功能得到解决,但它似乎不适用于使用anaconda的熊猫 import pandas as pd df = pd.read_json(windows authenticated url) 顺便说一句,url工作正常,它在浏览器中返回格式完美的json 谢谢我建议首

我试图使用read_json函数从使用windows身份验证的intranet站点将json读取到pandas数据帧中,但我得到了401错误

谷歌搜索显示,邮递员阅读windows认证json的类似问题通过Fiddler的“自动授权”功能得到解决,但它似乎不适用于使用anaconda的熊猫

import pandas as pd
df = pd.read_json(windows authenticated url)
顺便说一句,url工作正常,它在浏览器中返回格式完美的json


谢谢

我建议首先使用该包执行HTTP GET请求。该包提供了一个
get()
方法,该方法允许返回响应的json编码内容。代码示例可能如下所示:

import requests    

r = requests.get('https://intranet.jsondata.com/xy.json', auth=('user', 'pass'))
json_content = r.json()
  • URL是否位于您的公司内部网上
  • 您是否通常在浏览器中输入它,然后它会暂停10秒,您会在没有任何密码提示的情况下得到结果

    如果上述情况属实,则可能使用Kerberos身份验证。您当然可以使用python获得它。这是一个可以帮助你完成这项任务的软件包

    注意,某些语言环境维护自己的HTTP/Kerberos堆栈(Java),因此您需要在操作系统登录时单独登录到Active Directory域


您能给出一个可访问的url示例吗?您所说的可访问url是什么意思?它只是一个类似于“intranetsitecom/mydata”的url。它对您的两个问题都返回json.yes,但我刚刚用fiddler测试了一个intranet url,似乎我们正在使用NLTMSSP。不过这并不需要10秒钟,因为它几乎是瞬间完成的。有nltm的库吗?有NTLM请求库。我很惊讶您在2018年使用NTLM。现在它真的不安全。它与fiddler无缝工作的原因是,fiddler可能在包装下使用WinHTTP库。该库与操作系统紧密集成,因此它继承了所有windows身份验证,因此您可以使用此技术从python使用WinHTTP。你将失去
请求
库提供的所有好处,但将获得无缝身份验证。它似乎仍然无法进行身份验证,一些谷歌搜索建议我可能必须使用requests\u nltm。另一个问题是,我真的不想把我的用户名和密码放在jupyter笔记本上。我将尝试使用nltm库。thanksupdate:我能够让它与requests_nltm库一起工作,但现在的问题是如何将其转换为pandas dataframe?您使用这个软件包吗?然后,您应该能够对json文件发出GET请求,并将响应读入pandas(如在OP中)。您是否收到错误?是的,将响应直接读入read_json会引发错误,即使我使用response.json()并将其发送到read_json,也会引发错误。更新:实际上,只需将其传递给pd.DataFrame(response.json())即可。非常感谢。