HTTP 407 CasperJS через корпоративный прокси
Я пытаюсь использовать casperjs для доступа к creditkarma.com (который не заблокирован брандмауэром). Но я получаю сообщение об ошибке 407 и страницу, на которой написано, что мне нужно указать имя пользователя и пароль, а не форму, просто ошибка. Я пробовал http://username:password@example.com/. Я также попытался --proxy с --proxy-auth Я также попытался отправить заголовки.
casper.options.pageSettings = {
customHeaders:{
'Authorization':'Basic '+btoa('myUserName:myPassword')
}
}
Команда выполняется через командную строку Windows, поэтому я также устанавливаю HTTP_PROXY. Я потратил несколько часов на это и не могу понять, почему это не сработает. У кого-нибудь есть другие идеи, которые я могу попробовать?
1 ответ
Судя по ответу 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, как показано в этом ответе: прокси-сервер cntlm с phantomjs