首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带幻影的cntlm代理

带幻影的cntlm代理
EN

Stack Overflow用户
提问于 2015-07-03 14:44:31
回答 1查看 2.5K关注 0票数 6

我正在尝试使用windows机器上的cntlm代理与IIS上使用PhantomJS身份验证的本地web应用程序进行对话。要创建代理,我要做的是:cntlm -v -u username@domain -p password -l 1456 localhost:80

我的应用程序住在localhost/myapp

为了测试这是否有效,我尝试浏览到localhost:1456/myapp,但是我总是遇到一个挑战,没有一个合理的用户名/密码组合似乎是可行的。对于为什么这个设置不像预期的那样工作,有什么想法吗?

当我在浏览器中命中代理端点时,这是cntlm的输出:

http://pastebin.com/xvvmfsGV

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-01 18:49:09

在与这个概念搏斗了一段时间之后,我终于想出了如何设置这个概念。

安装cntlm后,我从命令提示符中运行以下命令:

代码语言:javascript
复制
"c:\Program Files (x86)\Cntlm\cntlm.exe" -u <user_name> -d <domain_name> -H

这要求您的密码,并发出三个哈希在配置文件中使用。

我将cntlm.ini中所需的配置缩减为:

代码语言:javascript
复制
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以验证一切是否正常。否则,启动并停止它作为一个服务。

为了使用幻影进行测试,我使用了以下脚本:

代码语言:javascript
复制
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,因为当主机是localhost时,幻影会绕过代理,所以请使用您的计算机名或ip地址。

要运行它:phantomjs --proxy=localhost:3133 test.js

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31209449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档