You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python请求带NTLM认证的Express(Node.js)服务器遇401未授权问题

解决Python请求Express NTLM认证服务401未授权问题

我之前踩过完全一样的坑!requests默认的auth参数只支持Basic认证,而你的Express服务启用的是NTLM认证机制,所以直接传账号密码肯定过不了校验。

给你一个简单可行的解决方案:

  • 首先安装专门支持NTLM认证的扩展库requests-ntlm:
    pip install requests-ntlm
    
  • 然后修改你的请求代码,用HttpNtlmAuth替代默认的auth方式:
    from requests_ntlm import HttpNtlmAuth
    import requests
    
    # 发起带NTLM认证的请求
    resp = requests.get(
        'https://myWebsite.com/something',
        auth=HttpNtlmAuth('myuser', 'mypass')
    )
    
    # 可以加上这个来主动抛出异常,方便排查问题
    resp.raise_for_status()
    

这个库会自动帮你处理NTLM认证的完整握手流程——包括第一次收到401响应后,自动发起认证协商请求,完全适配Express的NTLM中间件逻辑。另外如果你的服务端要求NTLMv2版本,这个库也会自动兼容,不需要额外配置。

最后提醒下:确保你的requests版本在2.x及以上,避免和requests-ntlm出现兼容性问题。

内容的提问来源于stack exchange,提问作者Gandalf The Gray

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:23:43