通过企业代理的 HTTP 407 CasperJS
HTTP 407 CasperJS through corporate proxy
我正在尝试使用 casperjs 访问 creditkarma.com(未被防火墙阻止)。但是我不断收到 407 错误和一个页面,提示我需要提供用户名和密码,没有任何形式只是一个错误。我试过了http://username:password@example.com。我也试过 --proxy 和 --proxy-auth 我也试过发送 headers。
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,如此答案所示:
我正在尝试使用 casperjs 访问 creditkarma.com(未被防火墙阻止)。但是我不断收到 407 错误和一个页面,提示我需要提供用户名和密码,没有任何形式只是一个错误。我试过了http://username:password@example.com。我也试过 --proxy 和 --proxy-auth 我也试过发送 headers。
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,如此答案所示: