这个概念了,而我终于想通了如何得到这个成立后摔跤。
安装cntlm后,我跑在命令提示符下输入:
"c:\Program Files (x86)\Cntlm\cntlm.exe" -u <user_name> -d <domain_name> -H
这要求您输入密码,并吐出了三个哈希在配置文件中使用。
我消减下来所需的配置在cntlm.ini
到:
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
设置为*
可确保任何请求永远不会传递给指定的伪造代理。
在控制台中运行"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