Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

HTTP через сокеты

7.3K
03 октября 2006 года
JB13
64 / / 05.09.2005
Пытаюсь получить HTML страницу используя сокеты, вот так

 
Код:
...
$fp = @fsockopen($host, $port, $errno, $errstr, $this->timeout);
fwrite($fp, $head);
$result = '';
while (!feof($fp)) $result .= fread($fp, 1024);
fclose($fp);
echo $result;
...


результат получается примерно такой

Код:
HTTP/1.1 200 OK
Date: Tue, 03 Oct 2006 13:16:28 GMT
Server: Apache/1.3.34 (Unix) PHP/5.1.2
X-Powered-By: PHP/5.1.2
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html

196
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<TITLE>CodeNet - Все для программиста!</TITLE>
<META NAME="keywords" CON............
190
льтры, плагины, написание плагинов, .....
192
ы, Фрактальные ландшафты,


что это за 196,190,192 и т.д? Я так понимаю это размер пакетов. Как от них избавиться, чтобы выдавался просто HTML?
Сенкс
4
03 октября 2006 года
mike
3.7K / / 01.10.2002
Это chunked encoding. Поменяй HTTP/1.1 на /1.0 в запросе. В 1.0 не поддерживался chunked encoding.
7.3K
04 октября 2006 года
JB13
64 / / 05.09.2005
Спасибо. Так и сделал.
Но все же должно же быть какое-то средство. В мануле нашел http_checked_decode(), но юзать не пробовал. Собтвенно, нормально декодировать его можно, только получив его частями. Но как?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог