2015-09-02 2 views
0

Учитывая, что PhantomJS не является точно node.js (поэтому модули, такие как deathbycaptcha2) отсутствуют, поскольку они используют собственные запросы, возможно ли просто открыть другой экземпляр webpage и использовать его для отправки POST запрашивает API-интерфейс captcha, не затрагивая экземпляр другой страницы?Использование deathbycaptcha с phantomjs без прерывания сеансов

Будет ли этот новый page.open() сохранить куки, собранные на первой странице?

ответ

1

Будет ли этот новый page.open() сохранить куки, собранные на первой странице?

Да, существует только один CookieJar для каждого процесса PhantomJS. Поэтому каждый page, который вы создаете, имеет те же файлы cookie. Подумайте об этих page экземплярах в виде окон или вкладок в обычном браузере.

[I] можно просто открыть другой экземпляр веб-страницы и использовать его для отправки запросов POST в API-интерфейс captcha без влияния на экземпляр другой страницы?

Это не так просто, поскольку файлы cookie являются общими. Если вы не получаете доступ к тем же страницам, вы можете безопасно создать второй экземпляр. Если вы хотите получить доступ к одной и той же странице во втором экземпляре, вы можете запустить второй процесс PhantomJS через child_process module (например, с помощью execFile).

Учитывая, что PhantomJS не совсем node.js [...]

Правда, но есть несколько мостов между PhantomJS и Node.js, таких как phantom, node-phantom, nightmare и т.д. Вы можете использовать их для взаимодействия с PhantomJS и дополнительных модулей узлов узла, которые вы хотите.

Смежные вопросы