Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.12.2010, 02:16   #1
delphyok
Пользователь
 
Регистрация: 22.02.2009
Сообщений: 19
По умолчанию cURL - проблемы с кодировкой

Здравствуйте! Провожу эксперименты с курлом. Подопытный - сайт добрый бобр. Бьюсь над следующей проблемой:
PHP код:
<?php 
header
('Content-Type: text/html; utf-8; charset=UTF-8');
$url 'http://bobrdobr.ru/registration/';

$headers = array(
'GET /registration/ HTTP/1.1',
'Host: bobrdobr.ru',
'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.0.19) Gecko/2010031422 Firefox/3.0.19 (.NET CLR 3.5.30729)',
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language: ru,en-us;q=0.7,en;q=0.3',
'Accept-Encoding: gzip,deflate',
'Keep-Alive: 300',
'Connection: keep-alive',
'Referer: http://bobrdobr.ru/'
);

function 
register1($url$headers) {
    
    
$ch curl_init($url);                                                        // инициируем новую курл-сессию
    
    
curl_setopt($chCURLOPT_HEADER1);                                        // шапка header не включается в вывод
    
curl_setopt($chCURLOPT_RETURNTRANSFER0);
    
curl_setopt($chCURLOPT_FOLLOWLOCATION1);                                // Переходить по редиректам
    
curl_setopt($chCURLOPT_HTTPHEADER$headers);                                // отправляю на сервер массив с http-заголовками
    
curl_setopt($chCURLOPT_COOKIEJARdirname(__FILE__) . '/cookie.txt');        // записываю полученные куки в файл
    
curl_setopt($chCURLOPT_COOKIEFILEdirname(__FILE__) . '/cookie.txt');    // извлекаю куки из файла

    
$result curl_exec($ch);                                                    // выполняем курл-сессию

    
curl_close ($ch);    // закрываем курл-сессию

}
register1($url$headers);

?>
По идее на экране должен выводиться заголовок ответа от бобра, плюс тело ответа. Заголовок выводится без нареканий, а вот тело - сплошь закорючки (см. вложение). Что только не делал, везде проставил кодировку utf-8, потом понял, что проблема может быть с денвером. Откопал в интернете статьи, где объяснялось как можно изменить windows-1251 на юникод. Сделал. Но ничего не работает, кракозябры не исчезли На сайте бобра тоже стоит utf-8, как и у меня в браузере. Самое интересное, что заголовок выдаётся в нормальном виде, а вот тело непонятно как...
Изображения
Тип файла: gif curl.gif (18.6 Кб, 123 просмотров)
delphyok вне форума Ответить с цитированием
Старый 30.12.2010, 15:06   #2
delphyok
Пользователь
 
Регистрация: 22.02.2009
Сообщений: 19
По умолчанию

Вопрос снимаю, вся проблема заключалась в поле - 'Accept-Encoding: gzip,deflate', которое гласило, что сервер должен мне отдавать сжатые данные, вот они в сжатом виде и приходили. Нужно было лишь удалить это поле и всё
delphyok вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с POST запросом через cURL LonRv PHP 0 28.12.2009 17:56
CURL проблемы при компиляции... XAOC-forever Общие вопросы C/C++ 5 23.07.2009 13:10
Проблемы с кодировкой? [Smarik] БД в Delphi 35 15.02.2009 15:32
Проблемы с кодировкой LAGOX PHP 7 14.02.2009 15:13
Проблемы с кодировкой Levchik HTML и CSS 2 16.12.2008 16:12