ZaLinux.ru

Как в PhantomJS поменять значение User Agent

По умолчанию значение User Agent в запросах PhantomJS имеет примерно следующий вид:

Mozilla/5.0 (Unknown; Linux x86_64) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.1.1 Safari/538.1

Но это значение можно поменять на любое другое, чтобы, к примеру, выдать запрос от PhantomJS за запрос от веб-браузера.

Для проверки текущего значения User Agent я буду использовать сервис https://suip.biz/ru/?act=my-user-agent

Итак, создадим файл ua_test.js и скопируем в него:

var webPage = require('webpage');
var page = webPage.create();

page.open('https://suip.biz/ru/?act=my-user-agent', function (status) {

    console.log('Stripped down page text:\n' + page.plainText);
    phantom.exit();
});

Выполним проверку User Agent в PhantomJS:

phantomjs ua_test.js

Как можно увидеть, получена ожидаемая строка с PhantomJS.

Изменение пользовательского агента в PhantomJS делается следующим образом:

page.settings.userAgent = 'СВОЁ ЗНАЧЕНИЕ USER AGENT';

Рабочий пример (будет выведен HTML код):

var webPage = require('webpage');
var page = webPage.create();

page.settings.userAgent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36';

page.open('https://suip.biz/ru/?act=my-user-agent', function (status) {

    console.log('Stripped down page text:\n' + page.content);
    phantom.exit();
});

Запустим следующим образом, чтобы сразу отфильтровать нужное нам значение:

phantomjs ua_test.js | grep -E -o '<h1>.*</h1>'

Как можно убедиться, это сработало:

Рекомендуемые статьи:

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *