[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не получается установить заголовки CURL
Xes
Не получается установить заголовки при использовании curl
Устанавливаю заголовки. Запускаю скритпт получаю стандартные заголовки, которые выдает сам браузер на любых страницах.
Код такой.

$header = array();
$header[] = 'User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:9.0.1) Gecko/20100101 Firefox/8.0.1';
$header[] = 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
$header[] = 'Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3';
$header[] = 'Accept-Encoding: gzip, deflate';
$header[] = 'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7';
$header[] = 'Connection: keep-alive';
$header['host'] = 'Host: mail.ru';
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);

Например хост меняется на имя того хоста с каторого запущен скрипт юзерагент Firefox/8.0.1 ---- у меня 9 стоит и выводится 9 а я поставил 8



Спустя 7 минут, 47 секунд (22.12.2011 - 22:35) killer8080 написал(а):
Xes
хост то зачем прописывать? Курл и так его туда поставит. wink.gif
Цитата (Xes @ 22.12.2011 - 21:27)
Например хост меняется на имя того хоста с каторого запущен скрипт юзерагент Firefox/8.0.1 ---- у меня 9 стоит и выводится 9 а я поставил 8

бред какой то. В хост указывается домен сайта, куда идет запрос, а не скоторого запущен скрипт. Что то не то ты делаешь, покажи весь код.

Спустя 9 минут, 10 секунд (22.12.2011 - 22:44) Xes написал(а):
Ну код весьма недаделан это все мои попытки отправить почту на майле. Начало скрипта такое.

error_reporting(E_ALL);
header('Content-type: text/html; charset=utf-8');
$header = array();
$header[] = 'User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:9.0.1) Gecko/20100101 Firefox/8.0.1';
$header[] = 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
$header[] = 'Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3';
$header[] = 'Accept-Encoding: gzip, deflate';
$header[] = 'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7';
$header[] = 'Connection: keep-alive';
$header['host'] = 'Host: mail.ru';
//Заходим на майл
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://mail.ru');
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$html1 = curl_exec($ch);
//Авторизация
$header['host'] = 'Host: e.mail.ru';
$header['referer'] = 'Referer: http://mail.ru/';

curl_setopt($ch, CURLOPT_URL, 'http://e.mail.ru/cgi-bin/auth');
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'Login=***&Domain=mail.ru&Password=*****');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$html2 = curl_exec($ch);


Ну вот на этом этапе я смотрю в фаербаге он у меня в заголовках отправляемых на сервер пишет мой хост. А также что фаерфокс у меня 9-й хотя я ему написал, писать что 8-ой.

Спустя 11 часов, 3 минуты, 53 секунды (23.12.2011 - 09:48) killer8080 написал(а):
Xes
причем здесь фаирбаг? Он показывает запрос браузера к серверу, а тебе нужно смотреть запросы твоего сервера к другому серверу. Самый простой способ, поставь дебагерскую проксю fiddler, и направь курл на свою проксю 127.0.0.1:8888. Или юзай снифер, не так удобно, снифер будет ловить весь трафик, придется настраивать фильтрацию, поэтому вариант с прокси предпочтительней.

Спустя 11 часов, 3 минуты, 54 секунды (23.12.2011 - 20:52) Xes написал(а):
Все. Спасибо.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.