Показать сообщение отдельно

  #2  
Старый 27.12.2008, 02:05
Zitt
Познавший АНТИЧАТ
Регистрация: 07.05.2006
Сообщений: 1,031
Провел на форуме:
5885100

Репутация: 773


По умолчанию

Люди, у меня странная проблема...
Короче написал я парсер странички, все хорошо парсит... но есть проьлема.. дело в том что страничка это запоролена и авторизация идет по кукам...
вобщем я посылаю запрос на страничку...
PHP код:
  $fp fsockopen($hostname80$errno$errstr30);   
  
// Проверяем успешность установки соединения  
    
  
if (!$fp) echo "$errstr ($errno)<br />\n";   
  else  
  {  
    
// Данные HTTP-запроса  
    
$data "\r\n\r\n";  
    
// Заголовок HTTP-запроса  
    
$headers "GET $a HTTP/1.1\r\n";   
    
$headers .= "Host: $hostname\r\n";   
    
$headers .= "Cookie: adminu=; adminp=; adminsid=; $Namecuc1\r\n";
    
$headers .= "Content-type: application/x-www-form-urlencoded\r\n";  
    
$headers .= "Content-Length: ".strlen($data)."\r\n\r\n";  
    
$headers .= "Connection: close\r\n\r\n";
    
// Отправляем HTTP-запрос серверу  
    
fwrite($fp$headers.$data);   
    
// Получаем ответ  
    
while (!feof($fp))  
    {   
      
$line .= fgets($fp1024);   
    }   
    
fclose($fp);   
  }   
   echo (
htmlentities($line)) 
далеше идет парсинт через preg_match и вывод все хорошо.. проблема в том что, скрипт имеет два поля куки и урл куда делать запрос и кнопку.... так вот если в крл вписать один урл и нажать кнопкуто все хорошо.. н оу меня таких ссылок оч много... я загнал в массив как мне тут советовали..
PHP код:
$file '5.txt'
$array file($file); 
$c count($array); 
for (
$i=0;$i<$c$i++)  
{  
    echo 
$array[$i].' '

короче конечный кусок кода такой

PHP код:
$file "$URL";  // в поле пусть до файлв
$array file($file); 
$c count($array); 
for (
$i=0;$i<$c$i++)  
{  
    
$a=$array[$i].' ';   
     


$line "";  
  
// Устанавливаем соединение, имя которого  
  // передано в параметре $hostname  
  
sleep(1);
  
$fp fsockopen($hostname80$errno$errstr30);   
  
// Проверяем успешность установки соединения  
    
  
if (!$fp) echo "$errstr ($errno)<br />\n";   
  else  
  {  
    
// Данные HTTP-запроса  
    
$data "\r\n\r\n";  
    
// Заголовок HTTP-запроса  
    
$headers "GET $a HTTP/1.1\r\n";   
    
$headers .= "Host: $hostname\r\n";   
    
$headers .= "Cookie: adminu=; adminp=; adminsid=; $Namecuc1\r\n";
    
$headers .= "Content-type: application/x-www-form-urlencoded\r\n";  
    
$headers .= "Content-Length: ".strlen($data)."\r\n\r\n";  
    
$headers .= "Connection: close\r\n\r\n";
    
// Отправляем HTTP-запрос серверу  
    
fwrite($fp$headers.$data);   
    
// Получаем ответ  
    
while (!feof($fp))  
    {   
      
$line .= fgets($fp1024);   
    }   
    
fclose($fp);   
  }   
   echo (
htmlentities($line)) 
  

// тут  регулярки 


так проблема в том, что, куки посылаються только ОДНОМУ урлу... все остальные ругаються на неавторизованность...
почему так и как исправить????

sleep() пробовал, не помогло....

еще одно заметил, если вставить один урл, то несколько запросов выполняются нормально.. тоетсь получаю N число нужных автветов, а если линки разные то уже только от одного..((

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

Последний раз редактировалось Zitt; 27.12.2008 в 03:07..
 
Ответить с цитированием