我正在公司Internet代理后面的VMWare VPC中运行一个程序(Mathematica)。该VPC中安装的各种程序,例如IE,Chrome,Excel,Word,Acrobat Reader甚至MS Paint,都可以从Internet毫无问题地获取数据,但是Mathematica似乎无法正确处理代理。
我的猜测是它无法处理代理的NTLM身份验证。
在较早的情况下,在不同的防火墙后面,我将CNTLM用作Mathematica和代理之间的中间产品取得了一些成功。 CNTLM与代理进行对话并负责NTLM身份验证,并且为Mathematica提供了CNTLM侦听的端口和ip地址(本地主机)进行对话。但是,在较早的情况下,我知道要用于代理的凭据(即我自己的凭据)。
在当前情况下,我的登录使用智能卡和PIN进行。 VPC透明地传递了凭据(我不必输入凭据),显然我上面提到的所有程序都自动地知道它们。这使我认为Mathematica或CNTLM也应该能够做到这一点。但是,我的PIN用作密码无效(实际上,如果我尝试太频繁,则会被锁定)。我假设使用的凭据实际上不是我自己的,而是Windows密码(我作为智能卡用户没有)或从我的PIN和智能卡派生。
我的问题是:如何使该设置正常工作?这可能涉及CNTLM,但是也欢迎使用其他解决方案。
最佳答案
您可以通过使用诸如Fiddler之类的浏览器代理来获得机会
像CNTLM一样,Fiddler也充当本地代理,并允许支持代理但不支持NTLM(它们支持“纯”代理)的应用程序不直接而是通过本地代理使用公司代理。
与CNTLM不同,Fiddler不需要配置凭据,但是它使用当前用户凭据来认证Web请求。
我不确定这是否是您的解决方案,因为我没有像您这样的环境,但是此替代方法在本报告中提到的其他情况下仍然有效
answer about ruby gem
或/和blog about mercurial,所以我希望这也可以与Mathematica一起使用。
注意:运行Fiddler后,它将自动为其自身配置浏览器代理(http://localhost:8888
),因此您可以将应用程序的代理设置保留为“使用我的系统或浏览器中的代理设置”。顺便说一句,Fiddler不仅是本地代理,还可以用于故障排除或调试,功能列表在here中可用