Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 26.04.2011, 19:47
iillyyaa вне форума Посмотреть профиль Отправить личное сообщение для iillyyaa Найти все сообщения от iillyyaa
  № 1  
Ответить с цитированием
iillyyaa

Регистрация: Apr 2010
Сообщений: 147
По умолчанию PHP Сокет gzip

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

PHP код:
$host 'url.ru';
$my_User_Agent "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; SV1; MyIE2; .NET CLR 1.1.4322)";
$cookie 'Cookie: xx=7;';
$url '/index.php';
$nn="\r\n";


function 
zapros() {
$nn="\r\n";
global 
$url;
global 
$cookie;
global 
$my_User_Agent;
global 
$host;
$all_data "";
flush();
$zapros=
"GET " $url " HTTP/1.1" .$nn.
"Accept: */*" .$nn.
"Accept-Language: ru-RU" .$nn.
"Referer: " '' .$nn.
"Accept-Encoding: gzip, deflate" .$nn.
"User-Agent: " $my_User_Agent .$nn.
"Host: " $host .$nn.
"" $cookie .$nn.
"Connection: Keep-Alive" .$nn.$nn;
echo 
"------------------ Запрос ------------------\n\n" $zapros .
  
"\n\n------------------  ответ  ------------------\n\n";
flush();
$fp fsockopen($host80, &$errno, &$errstr1);
if (!
$fp) { sleep(1); $return_err='err'; return; }
    
stream_set_timeout($fp1);
    
fputs($fp,$zapros);
    for (
$i=0;;$i++):
    
$data fgets($fp,2048);
    if (
$data === false) break;
    if (
$data != "\r\n") {
        if (empty(
$qqqqq)) {
            echo 
$data;
            } else {
##            if (!empty($all_data)) $all_data .= "\r\n";
            
$all_data .= $data;
//            echo $nn . htmlspecialchars($data);
//            echo $data . $nn;
            
}
        continue;
        } else {
#        break;
        
if (empty($qqqqq)) {
            echo 
"\n\n------------------ Содержимое страницы ------------------\n\n";
            
$qqqqq 1;
            } else {
            echo 
"\r\n";
            }
        }
    endfor;
    
fclose($fp);
    return 
$all_data;
}


$all_data zapros();
$job_test_err = @gzinflate($all_data);
if (
$job_test_err === false) echo "errr<br><br>\r\n\r\n"
Добавлено через 3 минуты
бьюсь уже не один час... не пойму где косяк...
даже делал скрипт, тестил, образал разное колво символов в начале и конце...

Добавлено через 17 часов 18 минут
решение найдено

PHP код:
$all_data = @gzinflate(substr($all_data10, -8)); 


Последний раз редактировалось iillyyaa; 26.04.2011 в 19:59.
Создать новую тему Ответ Часовой пояс GMT +4, время: 23:27.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 23:27.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.