Ответ от POST запроса

juniorspecialistphp
На сайте с 08.08.2010
Offline
25
703

Добрый день.

Ситуация такая, отправляю POST запрос через CURL и хочу увидеть страницу, чтобы обработать страницу регулярным выражением и понять, запостилось сообщение или нет.


$header [] = "Host:***.ru";
$header [] = "Accept-Encoding:gzip,deflate";
$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 [] = "Content-Type: application/x-www-form-urlencoded;charset=UTF-8";
$header [] = "Expect:100-continue";
//----------------------------------------
$ch=curl_init();
//--отдаём куку и отправляем свои данные-ЛОГИНИМСЯ
curl_setopt($ch, CURLOPT_URL,'***node/add/story');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ( $ch , CURLOPT_HTTPHEADER , $header );
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_REFERER,'*****node/add/story');
curl_setopt($ch, CURLOPT_POSTFIELDS,$post_fields);
curl_setopt($ch, CURLOPT_USERAGENT, $this->user_agent);
curl_setopt($ch, CURLOPT_COOKIEFILE, $this->cookies_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $this->cookies_path);
$result=curl_exec($ch);
// Check if any error occured
if(curl_errno($ch)){echo 'Curl error: ' . curl_error($ch);}

И получаю страницу в ответ такого вида

Подскажите, что не так делаю, если через браузер отправляю страница получается нормального, читабельного вида. Все параметры что и при постинге через браузер я передаю, но получаю не тот результат.

Пишу скрипты любой сложности на РНР. (http://elagin.su)
4arger
На сайте с 17.12.2008
Offline
95
#1

кодировку браузера попробуй сменить.

juniorspecialistphp
На сайте с 08.08.2010
Offline
25
#2

Перебирал различные кодировки в браузере, это не помогает. Если бы так просто было, то я не писал бы сюда.

Alipapa
На сайте с 01.02.2008
Offline
234
#3

Зазиповано похоже.

$header [] = "Accept-Encoding:gzip,deflate";
убрать не пробовали?
Биржа фриланса - простая и удобная (http://kwork.ru/ref/2541)
skAmZ
На сайте с 04.09.2009
Offline
122
#4


curl_setopt($ch, CURLOPT_ENCODING, '');
[Удален]
#5
Alipapa:
Зазиповано похоже

Ну ерунду же говорите. Что значит похоже? Всегда можно посмотреть респонс и какой Content-Encoding используется. Accept-Encoding говорит нам о том, какая кодировка документа допустима в ответе.

Если сервер отвечает вам в заголовке что-то вроде Content-Encoding: gzip, значит Accept-Encoding: gzip,deflate вам вполне подходит.

ТС, смотрите в какой кодировке отдается страница и посылайте ровно те заголовки, которые посылает ваш браузер.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий