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

07.06.2009, 13:07
|
|
Познающий
Регистрация: 10.03.2009
Сообщений: 54
Провел на форуме: 110312
Репутация:
50
|
|
Капча
Подскажите, как получить со страницы капчу? Мне надо её просто загрузить в свой php-скрипт.
|
|
|

07.06.2009, 13:09
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме: 18127311
Репутация:
1676
|
|
Сделать get запрос к ней)
|
|
|

07.06.2009, 13:15
|
|
Познающий
Регистрация: 10.03.2009
Сообщений: 54
Провел на форуме: 110312
Репутация:
50
|
|
Не это, понятно. Но как найти на странице саму картинку?
|
|
|

07.06.2009, 13:31
|
|
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме: 19975136
Репутация:
4536
|
|
поиском виндовс!
|
|
|

07.06.2009, 13:51
|
|
Постоянный
Регистрация: 19.02.2008
Сообщений: 438
Провел на форуме: 956872
Репутация:
186
|
|
Сообщение от -JC-
Не это, понятно. Но как найти на странице саму картинку?
регуляркой, либо, если капча не меняет ссылку, то просто используй саму ссылку
|
|
|

07.06.2009, 17:01
|
|
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
Провел на форуме: 3178262
Репутация:
389
|
|
В соседней теме Gifts выкладывал как обрабатывать капчу
Пример для МирТесен.Ру (Запрос капчи + авторизация)
PHP код:
<?php
$login = 'login';
$pass = 'pass';
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;
}
?>
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|