我正在尝试使用casperjs来访问creditkarma.com(该防火墙没有被防火墙阻止)。但是我不断收到407错误,并显示一个页面,提示我需要提供用户名和密码,而不仅仅是错误。我尝试了http:// username:[email protected]。我还尝试了--proxy和--proxy-auth,还尝试了发送标头。
casper.options.pageSettings = {
customHeaders:{
'Authorization':'Basic '+btoa('myUserName:myPassword')
}
}
该命令通过Windows命令提示符运行,因此我还设置了HTTP_PROXY。我已经花了几个小时,似乎无法弄清楚为什么这行不通。有人有其他可以尝试的想法吗?
从407响应判断,您必须1.使用代理2.提供代理身份验证的必要条件。
在CasperJS(和PhantomJS)中,您可以执行以下操作:
casperjs --proxy=192.168.0.100:8080 --proxy-auth=user:pass ck.js
另外,由于目标站点仅使用https协议,因此最好在参数列表中包含说明以防止ssl错误。
casperjs --ignore-ssl-errors=yes --ssl-protocol=any --proxy=192.168.0.100:8080 --proxy-auth=user:pass ck.js
如果需要NTLM授权,则PhantomJS版本2.0.0中将提供该授权,但CasperJS尚不支持该版本。您可以启用本地NTLM代理来绕过该限制,并仍然使用CasperJS,如以下答案所示:带有phantomjs的cntlm代理
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句