经过一段时间的思考,我终于弄清楚了如何进行设置。
安装 cntlm 后,我从命令提示符运行以下命令:
"c:\Program Files (x86)\Cntlm\cntlm.exe" -u <user_name> -d <domain_name> -H
这会要求您输入密码并输出三个哈希值以在配置文件中使用。
我削减了所需的配置cntlm.ini
to:
Username <user_name>
Domain <domain_name>
PassLM <LM_hash>
PassNT <NT_hash>
PassNTLMv2 <NTLMv2_hash>
Proxy 192.168.7.1:80 #random proxy
NoProxy *
Listen 3133 # unused port
cntlm 会强制您指定顶级代理,即使您不需要或没有顶级代理,因此该选项的任何有效数字都可以。环境NoProxy
to *
确保任何请求永远不会传递到指定的虚假代理。
Run "c:\Program Files (x86)\Cntlm\cntlm.exe" -f
在控制台中验证一切是否正常。否则,将其作为服务启动和停止。
为了使用 phantomjs 进行测试,我使用了以下脚本:
var page = require('webpage').create();
page.open('http://<machine_name>/myapp', function(status) {
console.log("Status: " + status);
if(status === "success") {
page.render('example.png');
}
phantom.exit();
});
<machine_name>
不可能是localhost
因为 phantomjs 在主机处于运行状态时会绕过代理localhost
,因此请使用您的计算机名称或 IP 地址。
运行它:phantomjs --proxy=localhost:3133 test.js