Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Новостной граббер
 
 автор: Icen   (24.06.2008 в 06:56)   письмо автору
 
 

Здравствуйте. Моей задачей является реализация граббера. Сделал как советовали на форуме http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=1879, но загружается вместостраницы новостей страница авторизаци. Вот код:


<?php

$login 
"логин";
$password "пароль";

$hostname "www.rosan.su"//хост
$path "/dealers/index.php"//путь
$line "";
// Устанавливаем соединение, имя которого
// передано в параметре $hostname
$fp fsockopen($hostname80$errno$errstr30);
// Проверяем успешность установки соединения
if (!$fp) echo "$errstr ($errno)<br />\n";
else
{
    echo 
"Соеденение прошло успешно...";
    
// Данные HTTP-запроса
    
$data =
      
"login=".urlencode($login)."&password=".urlencode($password)."\r\n\r\n";
    
// Заголовок HTTP-запроса
    
$headers "POST $path HTTP/1.1\r\n";
    
$headers .= "Host: $hostname\r\n";
    
$headers .= "Content-type: application/x-www-form-urlencoded\r\n";
    
$headers .= "Content-Length: ".strlen($data)."\r\n\r\n";
    
// Отправляем HTTP-запрос серверу
    
fwrite($fp$headers.$data);
    
// Получаем ответ
    
while (!feof($fp))
    {
      
$line .= fgets($fp1024);
    }
    
fclose($fp);
    echo  
$line;

}

?>

   
 
 автор: Icen   (24.06.2008 в 13:28)   письмо автору
 
   для: Icen   (24.06.2008 в 06:56)
 

Форма выглядит приблизительно вот так:

<form name='login' action='auth.php' method="POST">
Логин:<input type="text" name="login" value=''>
Пароль:<input type="password" name="password">
</form>


Авторизация производится на странице http://www.rosan.su/dealers/
После прохождения авторизации (в браузере), происходит загрузка по этому же самому адресу. но уже с новостями.
При использовании вышепредставленного скрипта, копируется именно страница для прохождения авторизации, а не новостей. Как это избежать. За любую помощь буду благодарен.

   
 
 автор: AcidTrash   (24.06.2008 в 14:18)   письмо автору
 
   для: Icen   (24.06.2008 в 13:28)
 

Так авторизация у вас где посмотрите
action='auth.php'
А вы коннектитесь с index.php.

   
 
 автор: Icen   (25.06.2008 в 05:29)   письмо автору
 
   для: AcidTrash   (24.06.2008 в 14:18)
 

Дело в том, что форма находится именно на http://www.rosan.su/dealers/index.php
Если набрать в браузере http://www.rosan.su/dealers/auth.php то в ответ получаю Неправильная пара логин-пароль. В скрипте менял, тоже ошибку выдаёт (Maximum execution time of 30 seconds exceeded ).
Самое интересное, то что при удачной авторизации загружается таже самая страница http://www.rosan.su/dealers/index.php, но уже с новостями...

   
 
 автор: mihdan   (25.06.2008 в 17:08)   письмо автору
 
   для: Icen   (25.06.2008 в 05:29)
 

<?
$url 
"http://www.rosan.su/dealers/auth.php"
$post "login=mihdan&password=mihdan";

$cookie str_replace('\\''/'dirname(__FILE__)) . 'cookie.txt';
$ch curl_init(); 
curl_setopt($chCURLOPT_URL,$url);
curl_setopt($chCURLOPT_FAILONERROR1); 
curl_setopt($chCURLOPT_FOLLOWLOCATION1);
curl_setopt($chCURLOPT_RETURNTRANSFER,1);
curl_setopt($chCURLOPT_TIMEOUT3);
curl_setopt($chCURLOPT_POST1);
curl_setopt($chCURLOPT_POSTFIELDS$post);
curl_setopt($chCURLOPT_COOKIEFILE$cookie);
curl_setopt($chCURLOPT_COOKIEJAR$cookie);
curl_setopt($chCURLOPT_NOBODY0);
curl_setopt($chCURLOPT_HEADER0);
$result curl_exec($ch); 
curl_close($ch);  

echo 
$result;
?>

   
 
 автор: Icen   (26.06.2008 в 06:45)   письмо автору
 
   для: mihdan   (25.06.2008 в 17:08)
 

Спасибо большое, всё заработало.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования