По умолчанию значение 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>'
Как можно убедиться, это сработало:
Связанные статьи:
- Как с помощью PhantomJS отправить POST запрос и получить содержимое страницы (71.5%)
- PHP cURL как установить значение User Agent ИЛИ как сделать так, чтобы сервера не блокировали запросы cURL? (51%)
- Как скачать видео с YouTube в Linux (50%)
- Как узнать IP DNS сервера в Linux (50%)
- Как скачать файл субтитров с YouTube на любом языке (50%)
- Как отредактировать страничку блокировки в Squid? Как вставить свои картинки и почту в страницу блокировки в Squid? (RANDOM - 22.4%)