连接后仍然从代理获取 407

Jav*_*diz 6 networking proxy internet-connection

我在通过代理访问 Internet 的公司网络中。例如,我通过浏览器(Firefox、Chrome ...)连接到互联网

问题是,当我尝试从终端连接并export为 (httphttps)设置配置时,如下所示:

export http_proxy=http://user:password@ip:port
Run Code Online (Sandbox Code Playgroud)

我尝试像这样制作一个 git 克隆:

git clone https://github.com/octocat/Spoon-Knife
Run Code Online (Sandbox Code Playgroud)

我得到:

克隆成“勺子刀”...

致命:无法访问“ https://github.com/octocat/Spoon-Knife/ ”:在 CONNECT 后从代理收到 HTTP 代码 407

一些注意事项

  • 我尝试使用 curl 等其他命令访问 curl www.google.com ,但仍然得到

错误代码:407 需要代理身份验证。ISA 服务器需要授权才能完成请求。拒绝访问 Web 代理过滤器。(12209)

  • 就像我说的,我在浏览器中的 Internet 连接运行良好。所以不是连接问题。
  • 我的密码唯一的特殊字符是 a *,我使用%2A.

小智 5

您确定您的代理使用的是基本身份验证吗?它很可能是 NTLM,即 ISA。

不是 100% 关于 git 如何处理代理及其身份验证,但如果我们可以让 curl 工作,我们将有一半的机会让 git 表现。

您可以尝试使用 ntlm 吗,如果这不起作用,请使用 curl 在命令行上进行协商 - 检查此处的手册页,但您需要

--proxy-ntlm

-U 用户:密码

小心在你的密码中转义你的“*”(或改变它,至少暂时使故障排除更容易)

如果它是 NTLM,那么我认为您对 git 不走运-但是关于堆栈溢出的问题表明您的本地机器上有一个中间代理-CNTLM-我曾用它来 NTLM 包装其他无法进行身份验证的软件。