- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Добрый день! Всех с праздником!
Такая проблемка: надо сделать так чтобы php скрипт имел HTTP_USER_AGENT такой, который мне нужен. Например мне надо чтобы HTTP_USER_AGNET был Vasya, делаю так:
$_SERVER['HTTP_USER_AGENT']="Vasya";
echo $HTTP_USER_AGENT;
?>
Не получается выдаёт мой Agent.
Пробовал ещё так:
header("User-Agent: Vasya");
echo $HTTP_USER_AGENT;
?>
Тоже не получается выдаёт мой Agent.
Или может мой браузер эту переменную замещает на свой агент и никак не вывести какой всё таки агент у скрипта (хотел сказать что может написание скрипта правильно, только выводится агент браузера из-за того что у него приоритета больше ...)? Не знаю правильно ли я выражаюсь и поймёт ли меня кто-нибудь :(.
Помогите пожалуйста, со вчерашнего дня мучаюсь :(, не могу понять как сделать, только сейчас решил создать здесь тему.
Во-первых, в общем случае PHP не формирует заголовки запроса документа, в которых фигурирует User-Agent, PHP - это не браузер, это тот, кто "отвечает" браузеру. Изменения HTTP_USER_AGENT на стороне сервера не меняет того, что запрос на получение документа был послан IE/Mozilla/Safari и т. д.
Другое дело, когда PHP сам запрашивает какой-то документ откуда-то. Там вы уже должны сформировать заголовки сами и вы можете в них прописать что угодно.
Теперь по вашему коду:
Здесь вы меняете переменную $_SERVER["HTTP_USER_AGENT"] на "Vasya". В момент изменения она ничего, кроме как строку данных с названием HTTP_USER_AGENT, не представляет. На заголовки запроса, которые уже посланы браузером пользователя и уже приняты сервером она не влияет. Это уже свершившийся факт.
Дальше, $HTTP_USER_AGENT и $_SERVER["HTTP_USER_AGENT"] - это разные переменные, хоть при инициализации скрипта в них и устанавливается одно и то же значение (если Register Globals On, иначе в $HTTP_USER_AGENT вообще не инициализирована). Если вы меняете значение второй переменной, а потом выводите значение первой - вы обращаетесь к разным данным!
Функция header устанавливает заголовки ответа! В них такого поля как User-Agent в принципе не предусмотрено. PHP отдает документ, а не запрашивает его. PHP - это не браузер в общем случае.
Просто скажите, какой результат вы хотите получить и ради какой цели - постараюсь помочь.
an0nym, спасибо за такой подробный ответ.
Вообще пытался по разному, не только выводить user_agent, но и посмотреть страничку через curl. Но выдавало не то, что должно было быть.
Просто скажите, какой результат вы хотите получить и ради какой цели - постараюсь помочь.
Задача скрипта: посмотреть как представляется страница под заданным агентом. Т.е. c помощью curl() или fopen() вывести страницу как она будет представляться под заданным агентом. Знаю что есть программки которые меняют Агент браузера, но мне надо чтобы скрипт это исполнял.
Обожемой...
От того, что вы поменяйте юзер агента внешний вид страницы не изменится (если только таковое не предусмотрено скриптом). Если вам нужно знать как выглядит ваша страница в разных браузерах, то и открывайте её в разных браузерах, а не изобретайте велосипед.
Если же вам просто для проверки получаемого юзер агента нужно, то открывайте страницу с помощью curl, где на этой странице будет вывод юзер агента.
Код написать или сами сообразите?
<?php
$handler=curl_init("url");
curl_setopt($handler,CURLOPT_USERAGENT,"Vasya");
curl_exec($handler);
?>
Только мне кажется, что вы не совсем понимаете технологию. Вы просто получите код страницы для выбранного вами User-Agent. Но один и тот же код может по-разному выглядеть в IE и Mozilla. Если вас интересует именно рендеринг страницы во всех браузерах - пока вы их не установите, не проверите.
an0nym добавил 09.05.2008 в 14:47
Обожемой...
+1. Как мне видится, вы слишком рано добрались до curlа, вам бы еще азам поучиться, понять, как всё работает.
Progr@mmer\., спасибо.
Всё понял благодаря an0nym.
Умно, однако... Возьму на вооружение сам. Используйте мой код. Он вам поможет. Сами оптимизируйте под curl_multi_exec, я думаю разберетесь. Советую тему не палить, а убрать свое предыдущее сообщение. :)
Сделал как Вы написали:
<?php
$handler=curl_init("http://site.ru/script.php");
curl_setopt($handler,CURL_USERAGENT,"Googlebot");
curl_exec($handler);
?>
Выводит не то, что должен :(.
+1. Как мне видится, вы слишком рано добрались до curlа, вам бы еще азам поучиться, понять, как всё работает.
Согласен, не силён я в PHP, знаю только поверхностно. Когда надо что-то, читаю книги и делаю по примерам. Просто необходимо не очень часто, а времени не так много для самообучения :(.
Выводит не то, что должен :(.
Согласен, не силён я в PHP, знаю только поверхностно. Когда надо что-то, читаю книги и делаю по примерам. Просто необходимо не очень часто, а времени не так много для самообучения :(.
Он выводит код страницы, который отдается с таким юзерагентом. Не забывайте, что сайты также могут сверять, Гугл ли их посещает, не только по юзерагенту, но и по IP запроса. В вашем случае запрос идет с вашего IP.
Советую тему не палить, а убрать свое предыдущее сообщение. :)
Думаю не только я про это думал :). Многие наверняка уже это знают и используют.
Он выводит код страницы, который отдается с таким юзерагентом. Не забывайте, что сайты также могут сверять, Гугл ли их посещает, не только по юзерагенту, но и по IP запроса. В вашем случае запрос идет с вашего IP.
Получается надо сразу работать с данными, а не проверять их с помощью вывода в браузере. Т.е. если я запишу результат как html код в *.txt файл будет всё хорошо? Сейчас проверю :).
<?php
$handler=curl_init("url");
curl_setopt($handler,CURLOPT_RETURNTRANSFER,TRUE);
curl_setopt($handler,CURLOPT_USERAGENT,"Vasya");
$response=curl_exec($handler);
echo($response);
?>
Наверное, в этом проблема?
В $response записан HTML-код, который выдал тот сайт.