如何让Casperjs使用Windows身份验证

时间:2015-11-27 20:09:20

标签: phantomjs casperjs ntlm

我们需要测试需要Windows身份验证的网站。我们尝试使用Casperjs自动化它,但我们继续获得401.

根据以下discussion,我们发现其他人也有类似的问题。但是,讨论结束时没有真正的解决方案。

该讨论中有人指出他/她使用了page.customHeader以及其他解决方法,但没有提供有关如何使其工作的实际步骤。

我们还尝试将网址更新为http://username:passowrd@domain.com模式&即使这没有帮助。

当我在

中尝试这个时,请参阅Fiddler的样本回复
GET / HTTP/1.1
Host: host 

HTTP/1.1 401 Access Denied
WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM 


GET / HTTP/1.1
Host: host
Authorization: NTLM TlRMTVNTUAABAAAAB4IAoAAAAAAAAAAAAAAAAAAAAAB= 

HTTP/1.1 401 Access Denied
WWW-Authenticate: NTLM TlRMTVNTUAACAAAADAAMADAAAAAFgoGgCY6qiih5j bAAAAAAAAAAAH4AfgA8AAAAUABPAFIAVAA4ADAAAgAMAFAATwBSAFQA OAAwAAEACgBKAEwASQBNAEEABAAkAH

1 个答案:

答案 0 :(得分:0)

实际上在PhantomJS github的问题讨论中提出了一个很好的解决方法。您可以使用a local NTLM proxy并通过CasperJS连接到它,如下所示:

casperjs --proxy=localhost:3133 --ignore-ssl-error=true --ssl-protocol=any script.js