написать бота для перехода по ссылке с подтверждением confirm - КАК!?

Denis_Pi

Art сreator
Заблокирован
Регистрация
8 Май 2012
Сообщения
405
Реакции
240
  • Автор темы
  • Заблокирован
  • #1
Собственно вопрос в теме...
Необходимо написать бота...
От бота нужно - зайти на сайт, нажать на ссылку входа в лич каб...
его пере направят на страницу авторизации если не залогинен и в личный кабинет если да -
если не залогинен то залогинеться..
Его перенаправят на страницу личного кабинета, где нужно нажать на ссылку и подтвердить confirm... - повторять манипуляцию каждые 5 минут
 
imacros и ему подобные плагины, в зависимости от браузера или Human Emulator, если надо что-то более сложное.
 
  • Автор темы
  • Заблокирован
  • #3
imacros и ему подобные плагины, в зависимости от браузера или Human Emulator, если надо что-то более сложное.
Хочется что то на php сообразить в общем то задача тривиальная, но я с этим не сталкивался еще - пришло собственно время)

Каким образом вообще возможно реализовать такое на php?
 
Хочется что то на php сообразить в общем то задача тривиальная, но я с этим не сталкивался еще - пришло собственно время)

Каким образом вообще возможно реализовать такое на php?

Fiddler или любой другой сниффер бери и смотря на то, что приходит и что уходит, подделываешь это на php вместе с курлом.
Линки, почти по теме:
http://nulled.in/threads/234925/
http://nulled.in/threads/198999/
 
  • Автор темы
  • Заблокирован
  • #5
<?php
if( $curl = curl_init() ) {
$referer = 'Для просмотра ссылки Войди или Зарегистрируйся
$login_url = 'Для просмотра ссылки Войди или Зарегистрируйся
$agent = 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22';

$ch = curl_init(); //инициализация библиотеки
//указываем адрес страницы
curl_setopt($ch, CURLOPT_URL,$login_url);
//указываем заголовок User-Agent
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
//указываем, что полученная страница должна быть сохранена в переменную
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//указываем, что cURL должен переходить по редиректам
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

//выполняем запрос
$page = curl_exec($ch);
$referer = 'Для просмотра ссылки Войди или Зарегистрируйся
$postLoginFields = array();
$postLoginFields['cabAutchUsername'] = 'мой логин';
$postLoginFields['cabAutchPassword'] = 'мой пароль';

//referer - адрес страницы с которой вы пришли,
//т.е. нужно указать адрес страницы на которой находится форма
curl_setopt($ch, CURLOPT_REFERER, $reffer);
//указываем, что мы отправляем данные методом post
curl_setopt($ch, CURLOPT_POST, 1);
//добавляем строку с post данными
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postLoginFields));
//создаем файл для cookies
$cookiefile = tempnam('./cookie','cookie.txt');
curl_close($curl);
}
?>

Не логинется, и соответственно не пишет куки - подскажите - что не так плиз!
 
  • Автор темы
  • Заблокирован
  • #6
xweb human emulator в помощь!
Зачем усложнять жизнь, когда можно дописать
print_r(curl_getinfo($ch));
echo "\n\ncURL error number:" .curl_errno($ch);
echo "\n\ncURL error:" . curl_error($ch);
// ...close cURL handle ($ch) below[/spoil]
И посмотреть...
[spoil]
PHP:
Array ( [url] => http://www.sibdom.ru/board/cabinet/auth/login/ [content_type] => text/html; charset=utf-8 [http_code] => 200 [header_size] => 274 [request_size] => 193 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0.796 [namelookup_time] => 0.078 [connect_time] => 0.734 [pretransfer_time] => 0.734 [size_upload] => 0 [size_download] => 4101 [speed_download] => 5152 [speed_upload] => 0 [download_content_length] => 4101 [upload_content_length] => 0 [starttransfer_time] => 0.796 [redirect_time] => 0 [certinfo] => Array ( ) [redirect_url] => ) cURL error number:0 cURL error:

Выше данные - которые получаю!
Постом выше указал код, что б меня поправили!
Снифаю в Fiddler2


Fiddler или любой другой сниффер бери и смотря на то, что приходит и что уходит, подделываешь это на php вместе с курлом.
Линки, почти по теме:
http://nulled.in/threads/234925/
http://nulled.in/threads/198999/
Прошу помощи!)
 
  • Автор темы
  • Заблокирован
  • #7
Вот, изменил код, Почему то показывает не авторизованную страницу!(
PHP:
<?
set_time_limit('0');
 
 
$referer = "http://www.sibdom.ru";
 
$url = "http://www.sibdom.ru/board/cabinet/auth/login/";
$user_agent = 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22';
$user_cookie_file = $_SERVER['DOCUMENT_ROOT'].'./cookies.txt';
$headers = array
      (
          'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
          'Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4',
          'Accept-Encoding: gzip,deflate,sdch',
          'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.3'
      );
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt($ch, CURLOPT_REFERER, "http://www.sibdom.ru");
curl_setopt($ch, CURLOPT_COOKIEJAR, $user_cookie_file);
curl_setopt($ch, CURLOPT_COOKIEFILE, $user_cookie_file);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'cabAutchUsername=Мой логин&cabAutchPassword=мой пароль=cabAutchCheck');
curl_setopt($ch, CURLOPT_COOKIEJAR, $user_cookie_file);
curl_setopt($ch, CURLOPT_COOKIEFILE, $user_cookie_file);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
 
?>
[/spoil]

Поправьте меня плиз!


В Файле сессии пишет...
[spoil]
Код:
www.sibdom.ru    FALSE    /    FALSE    0    session    7cc2f11e0897420a80f43b83edd1363c
 
  • Автор темы
  • Заблокирован
  • #8
завернул трафик в Fiddler2 пишет : ----
" Сервер не вернул правильно отформатированный заголовков HTTP. Может быть, вообще отсутствует (например, HTTP/0.9), может быть только \ г \ г вместо \ г \ п \ г \ п?"

Server did not return properly formatted HTTP Headers. Maybe missing altogether (e.g. HTTP/0.9), maybe only \r\r instead of \r\n\r\n?


fiddler.network.readresponse.failure> Session #239 raised exception Программа на вашем хост-компьютере разорвала установленное подключение
 
  • Автор темы
  • Заблокирован
  • #9
Вопрос с заголовками решил!
Все равно в файле с куками пишет
Код:
# Netscape HTTP Cookie File
# http://curl.haxx.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.
 
www.sibdom.ru    FALSE    /    FALSE    0    session    b30647831e50a902e88c36bdff22ae23
Для просмотра ссылки Войди или Зарегистрируйся


при снифе авторизации
Говорит что куки должны быть такими:
[spoil]
Код:
PHPSESSID=4f01bf4633ae373c3085432fe36d31d3; session=ad759dc22ca0ef93f76421583fd89078; __utma=128237326.860473659.1362854633.1364580728.1364882511.6; __utmb=128237326.1.10.1364882511; __utmc=128237326; __utmz=128237326.1364882511.6.4.utmcsr=vk.com|utmccn=(referral)|utmcmd=referral|utmcct=/im; sd_main_uk=042a96faabb34bd18f3bde867a8b447424b01185%7Ef3b254efa25a423649a2a3bbfe659408b858631b


Как правильно их забрать???
 
Назад
Сверху