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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.01.2008, 23:11   #1
Adamant
Пользователь
 
Аватар для Adamant
 
Регистрация: 20.09.2007
Сообщений: 99
По умолчанию Автосабмиттер

Уважаемые программисты, нужна ваша помощь.
Осваиваю HTTP. Решил написать автосабмиттер для тренировки.Не могу понять в чем дело. Скрипт должен "логинится" на сайте методом пост.

Взял за образец сайт loadit.ru , (думаю ни кого не обижу).
Форма для входа такая:
Код HTML:
<form method="post">
<input name="login_name" type="text">
<input name="login_password" type="password">
<input name="login" type="hidden" id="login" value="submit"><
</form>
Скрипт написал такой:
PHP код:
set_time_limit(0);
//Логин и пароль 666666
$fp fsockopen("loadit.ru"80$errno$errstr30);
if (!
$fp)
  {
      echo 
"$errstr ($errno)<br />\n";
   exit();
  }
$post_data "login_name=666666&login_password=666666&login=submit";
$out "POST / HTTP/1.1\r\n";
$out .= "Host: loadit.ru\r\n";
$out .= "Connection: Close\r\n\r\n";
$out .= "Accept: text/html;\r\n";
$out .= "Referer: http://loadit.ru\r\n";
$out .= "Connection: Close\r\n";
$out .= "Content-Length: ".strlen($post_data)."\r\n";
$out .= "Content-type: application/x-www-form-urlencoded\r\n\r\n";
$out .= $post_data;
fwrite($fp$out);

$result '';
while (!
feof($fp))
  {
   
$result .= fgets($fp128);
  }
fclose($fp);

// зарегились
$fp fsockopen("loadit.ru."80$errno$errstr30);
if (!
$fp)
  {
   echo 
"$errstr ($errno)<br />\n";
   exit();
  }
preg_match_all('/Set-Cookie: ([^;]+)/',$result,$cook,PREG_PATTERN_ORDER);
echo 
"<pre>";
print_r($cook);
echo 
"</pre><br />";
$out "GET / HTTP/1.0\r\n";
$out.= "Cookie: ".implode("; ",$cook[1])."\r\n\r\n";
fwrite($fp$out);
while (!
feof($fp))
  {
   echo 
"<pre>";
   echo 
fgets($fp128);
   echo 
"</pre>";
  }
fclose($fp); 
Сервер прислал такие заголовки:
Код:
Array
(
    [0] => Array
        (
            [0] => Set-Cookie: PHPSESSID=ac75f6d75f4a7c9110deba355d5d2b4a
        )

    [1] => Array
        (
            [0] => PHPSESSID=ac75f6d75f4a7c9110deba355d5d2b4a
        )

)


HTTP/1.1 200 OK

Date: Sun, 13 Jan 2008 00:34:27 GMT

Server: Apache/2

Last-Modified: Wed, 24 Oct 2007 22:56:55 GMT

ETag: "2060403-2c-8b59bc0"

Accept-Ranges: bytes

Content-Length: 44

Vary: Accept-Encoding,User-Agent

Connection: close

Content-Type: text/html

Apache is functioning normally
Зайти не получается. Несколько дней провел за чтением мануалов, но не нашел ответа на свою проблему. Буду благодарен если поделитесь вашими знаниями.
С уважением Вячеслав.
Голова человеку дадена - не токмо шапку носить!
Adamant вне форума Ответить с цитированием
Старый 13.01.2008, 23:56   #2
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Модераторы, удалите эту наглую рекламу!
SkyM@n вне форума Ответить с цитированием
Старый 14.01.2008, 00:00   #3
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,758
По умолчанию

SkyM@n, поясни, почему реклама?
Alar вне форума Ответить с цитированием
Старый 14.01.2008, 00:06   #4
Adamant
Пользователь
 
Аватар для Adamant
 
Регистрация: 20.09.2007
Сообщений: 99
По умолчанию

Ну вот. Везде видят только плохое. Не могу же я для примера брать programmersforum.ru Все таки это не очень хорошо. mail.ru тоже не решился. Могу конечно написать example.ru, но его ведь не проверишь на практике.
Голова человеку дадена - не токмо шапку носить!
Adamant вне форума Ответить с цитированием
Старый 14.01.2008, 02:13   #5
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Я пробовал на вашем примере пробовал - все работает. Следовательно, расценил это как "привлечь внимание пользователя к сайту и заставить его зарегистрироваться там"
SkyM@n вне форума Ответить с цитированием
Старый 14.01.2008, 08:57   #6
Adamant
Пользователь
 
Аватар для Adamant
 
Регистрация: 20.09.2007
Сообщений: 99
По умолчанию

Как получить тело самой страницы, которая после этого отображается?
Пробовал потом смотреть readfile этой же страницы, но там авторизации нет. Вот и не знаю, что мне с этим делать?
Однозначно нужен ваш совет специалиста.
Голова человеку дадена - не токмо шапку носить!

Последний раз редактировалось Adamant; 14.01.2008 в 09:01.
Adamant вне форума Ответить с цитированием
Ответ


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

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

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