Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

11.07.2009, 00:53
|
|
Постоянный
Регистрация: 17.09.2008
Сообщений: 562
Провел на форуме: 6962560
Репутация:
536
|
|
Пишу полуавтоматический регер (с ручным вводом капчи) для одного сайта на Curl...
Система такая:
1) Захожу на главную страницу сайта, сохраняю куки, парсю кое-какие параметры, без которых недоступна страница регистрации...
2) С сохранёнными куками и параметрами захожу на страницу авторизации... Нам парсю параметры, посылаемые в пост запросе при регистрации... Также парсю идентификатор капчи, и вывожу эту картинку с полем для ввода, формирую пост запрос...
3) Отсылаю пост запрос с подгружёнными куками, и текстом с капчи....
В результате получаю сообщение, что текст с картинки не верен..( В чём тут может быть дело..?! Куки пытался пересохранять в пункте 2) и подгружать в 3) не помогло...
Если можно, дайте простой пример на курле какого-нибудь скрипта (не важно регера или чего-то другого) с ручным вводом капчи...

|
|
|

11.07.2009, 10:40
|
|
Участник форума
Регистрация: 21.02.2008
Сообщений: 255
Провел на форуме: 975514
Репутация:
177
|
|
Сообщение от Fepsis
Также парсю идентификатор капчи, и вывожу эту картинку с полем для ввода
капча 2 раза меняется. первый раз при парсинге идентификатора, второй раз при выводе тебе на страницу регистрации. при выводе уже id другой, а используется спарсенный. нельзя 2 раза капчу запрашивать с сайта.
|
|
|

11.07.2009, 14:21
|
|
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
Провел на форуме: 3178262
Репутация:
389
|
|
Сохраняешь капчу, потом выводишь на экран
Пример для мир тесен
PHP код:
<?php
$login = 'gebdiman@mail.ru';
$pass = 'dmitriy';
session_start();
function post($url='',$content=null,$referer=null,$follow=0 )
{
GLOBAL $cookie;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, $follow);
if (!empty($cookie)) curl_setopt($ch, CURLOPT_COOKIE, implode('; ',array_values($cookie)));
if (!empty($content)) {curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, $content);} else {curl_setopt($ch, CURLOPT_POST, 0);}
if (!empty($referer)) curl_setopt($ch, CURLOPT_REFERER, $referer);
$ss=curl_exec($ch);
curl_close($ch);
if (preg_match_all('#^Set-Cookie: (([^;=]+)=([^;=]+))#mi',$ss,$cook))
{
if ($tmpcookie=array_combine($cook[2],$cook[1]))
$cookie=(array)$tmpcookie + (array)$cookie;
}
return preg_replace('~[\s\S]+\r\n\r\n~U','',$ss,1);
}
if (!isset($_POST['captcha']))
{
// Удаляем сессионный файл, чтобы не путал
unset($_SESSION['mir']);
// Получаем начальные куки
$in = post('http://mirtesen.ru/login');
preg_match('#<img src="http://mirtesen.ru/captcha/login?(.*?)"#i', $in, $match_capt);
// Делаем локальную копию куки ()ак надо)
file_put_contents('local.jpg',post('http://mirtesen.ru/captcha/login?'.$match_capt[1],null,'http://mirtesen.ru/login'));
// Выводим форму
echo '<img src="local.jpg" alt=""><p><form name="spam" method="POST">
<input type="text" name="captcha">
<input type="submit" value ="Ok"></form>';
// Сохраняем куки полученные при данном запуске
$_SESSION['mir']=serialize($cookie);
} else
{
// Загружаем куки, полученные при первом запуске скрипта
$cookie = $_SESSION['mir'] ? unserialize($_SESSION['mir']) : array();
// Логинимся
post('http://mirtesen.ru/login','auth%5Bbackurl%5D=&auth%5Blogin%5D='.urlencode($login).'&auth%5Bpassword%5D='.urlencode($pass).'&auth%5Bcaptcha%5D='.trim($_POST['captcha']).'&auth%5Bremember%5D=on','http://mirtesen.ru/login');
// Выводим страницу
$out = post('http://mirtesen.ru/');
$out = iconv('UTF-8','Windows-1251',$out);
echo $out;
}
?>
©
|
|
|

11.07.2009, 14:27
|
|
Познающий
Регистрация: 04.04.2009
Сообщений: 58
Провел на форуме: 687854
Репутация:
19
|
|
Подскажите плиз как выдернуть все картинки форматов *.jpg и *.png с сайта.
Знаю, нужно регулярками пользоваться, но сам шаблон поиска составить не могу...
Поделитесь, у кого есть
|
|
|

11.07.2009, 14:50
|
|
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме: 1698585
Репутация:
818
|
|
Последний раз редактировалось b3; 11.07.2009 в 14:52..
|
|
|

11.07.2009, 15:31
|
|
Новичок
Регистрация: 04.10.2008
Сообщений: 24
Провел на форуме: 177802
Репутация:
2
|
|
Почему вот этот код:
Код:
<?php
$a=$_SERVER["REMOTE_ADDR"];
$b=fopen("base.txt",a);
fwrite($b,$a);
fclose($b);
?>
Сохраняет в файл лишь одну строку 127.0.0.1? Заливал этот файл на народ и ктобы не зашёл IP один и тотже!
Последний раз редактировалось Тихий; 11.07.2009 в 15:34..
|
|
|

11.07.2009, 15:55
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
Сообщение от Тихий
Почему вот этот код:
Код:
<?php
$a=$_SERVER["REMOTE_ADDR"];
$b=fopen("base.txt",a);
fwrite($b,$a);
fclose($b);
?>
Сохраняет в файл лишь одну строку 127.0.0.1? Заливал этот файл на народ и ктобы не зашёл IP один и тотже!
На народе нету PHP
|
|
|

11.07.2009, 18:06
|
|
Познающий
Регистрация: 04.04.2009
Сообщений: 58
Провел на форуме: 687854
Репутация:
19
|
|
К сожалению, пример не работает.
З.ы. Скачиваю картинки с яндекс.директ, если это имеет значение
|
|
|

12.07.2009, 01:51
|
|
Познающий
Регистрация: 27.06.2009
Сообщений: 55
Провел на форуме: 1036481
Репутация:
166
|
|
не понятно одно...с чего начинать обучение простому юзеру... 
|
|
|

12.07.2009, 02:36
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме: 6462214
Репутация:
3171
|
|
Сообщение от bodo
не понятно одно...с чего начинать обучение простому юзеру... 
азебалеуже
http://forum.antichat.ru/thread81500.html
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|