Не удается загрузить URL-адрес, а затем не удается отправить параметры входа

Я пытаюсь войти в систему автоматически в tumblr, используя script предлагаемый здесь, но phantomjs показывает только неудачные попытки:

[info] [phantom] Starting...
[info] [phantom] Running suite: 3 steps
[debug] [phantom] opening url: https://tumblr.com/login, HTTP GET
[debug] [phantom] Navigation requested: url=https://tumblr.com/login, type=Other,willNavigate=true, isMainFrame=true
[warning] [phantom] Loading resource failed with status=fail: https://tumblr.com/login
[debug] [phantom] Successfully injected Casper client-side utilities
[debug] [phantom] Logging in
[info] [remote] attempting to fetch form element from selector: '#signup_form'
[info] [phantom] Step anonymous 2/3: done in 2899ms.
[info] [phantom] Step _step 3/3: done in 2912ms.
[warning] [phantom] Casper.waitFor() timeout  
[error] [phantom] Wait timeout of 100000ms expired, exiting.
Wait timeout of 100000ms expired, exiting.

Я увеличил первоначальный тайм-аут script без успеха, моя рабочая станция использует:  - Windows 7 64 бит  - Casperjs 1.1.0  - Phantomjs 1.9.1

спасибо.

Ответ 1

Наконец-то я нашел решение для этой проблемы. Tumblr использует шифрование TLSv1.2 для своего сайта, а PhantomJS по умолчанию - SSLv3.

Чтобы исправить это, вы можете либо вызвать CasperJS, либо:

casperjs tumblr.js --ssl-protocol=tlsv1

или

casperjs tumblr.js --ssl-protocol=any

Ответ 2

С моей версией casperjs и phantomjs параметр протокола cli ssl игнорировался, я должен был поместить его в файл конфигурации:

casperjs browse.js --config=<(echo '{"sslProtocol": "any"}') --ignore-ssl-errors=true