我们需要测试需要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
答案 0 :(得分:0)
实际上在PhantomJS github的问题讨论中提出了一个很好的解决方法。您可以使用a local NTLM proxy并通过CasperJS连接到它,如下所示:
casperjs --proxy=localhost:3133 --ignore-ssl-error=true --ssl-protocol=any script.js