
07.06.2009, 14:57
|
|
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
С нами:
8915117
Репутация:
389
|
|
Сообщение от geforse
Я уже это проверял:
1) Это не мд5
2) На капчу влияет только значение mirtesen!
И также я заметил, незнаю почему, выводится 2 параметра установки куков из первого курла (я юзал регулярку preg_match_all('/Set-Cookie: ([^;]*)/i', $res, $cookies); )
Код:
Array
(
[0] => Array
(
[0] => Set-Cookie: mirtesen=jn35v1f3g248ufdr6aelhannb5
[1] => Set-Cookie: mirtesen=0p48pipogk4oj7497a1po09gi6
)
[1] => Array
(
[0] => mirtesen=jn35v1f3g248ufdr6aelhannb5
[1] => mirtesen=0p48pipogk4oj7497a1po09gi6
)
)
|
|
|

07.06.2009, 14:59
|
|
Постоянный
Регистрация: 02.03.2008
Сообщений: 893
С нами:
9574565
Репутация:
712
|
|
2 параметра я тоже углядел ... Хз какой из них нужно отправлять )
|
|
|

07.06.2009, 15:00
|
|
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
С нами:
8915117
Репутация:
389
|
|
Сообщение от geforse
2 параметра я тоже углядел ... Хз какой из них нужно отправлять )
Я пробывал оба, но результата 0 как нистранно 
Вобщем идея такова, когда ты получаешь контент - картинка одна. Когда браузер её загружает в img она другая
Т.е. суть такова, что нада сохранять картинку с заголовком, потом показывать пользователю
Последний раз редактировалось FireFenix; 07.06.2009 в 15:13..
|
|
|

07.06.2009, 15:18
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
С нами:
9497186
Репутация:
1304
|
|
Geforse Косяков у вас, что даже писать долго. Вот работающая версия:
PHP код:
$login = '';
$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;
}
spamoney
PHP код:
echo str_replace(array('{eng}','{rus}'),
array('эквивалент енг','эквивалент рус'),$str);
Последний раз редактировалось Gifts; 07.06.2009 в 15:21..
|
|
|

07.06.2009, 15:28
|
|
Участник форума
Регистрация: 26.12.2006
Сообщений: 107
С нами:
10196899
Репутация:
27
|
|
Сообщение от Gifts
spamoney
PHP код:
echo str_replace(array('{eng}','{rus}'),
array('эквивалент енг','эквивалент рус'),$str);
Нет, это совсем не то, необходимо определить местоположение {num} {rus} {eng} в $str1 и уже потом делать замену в $str2, примеры:
PHP код:
$str1="index.php?var={num}&text={rus}¶m={eng}";
$str2="{rus}/page-{num}/{eng}.html";
//Должно получиться:
$str3="2/page-1/3.html";
PHP код:
$str1="main.php?par={eng}&var={num}¶m={rus}";
$str2="{rus}/page-{num}/{eng}.html";
//Должно получиться:
$str3="3/page-2/1.html";
PHP код:
$str1="show.php?tut={rus}&trem={eng}&pabam={num}";
$str2="{rus}/page-{num}/{eng}.html";
//Должно получиться:
$str3="1/page-3/2.html";
и т.д
|
|
|

07.06.2009, 15:36
|
|
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
С нами:
8915117
Репутация:
389
|
|
Сообщение от spamoney
Нет, это совсем не то, необходимо определить местоположение {num} {rus} {eng} в $str1 и уже потом делать замену в $str2
PHP код:
<?php
//$str_1 = "index.php?var={num}&text={rus}¶m={eng}";
$str_1 = 'index.php?var=666&text=111¶m=888';
$str_2 = '{rus}/page-{num}/{eng}.html';
$regexp = '/[\?|&]([^=]*)=([^&]*)/is';
preg_match_all($regexp , $str_1, $match);
for($i = 0; $i < count($match[2]); $i++)
{
switch($match[1][$i])
{
case 'var':
$var = '{rus}';
break;
case 'text':
$var = '{num}';
break;
case 'param':
$var = '{eng}';
break;
}
//$str_2="666/page-111/888.html";
$str_2 = str_replace($var, $match[2][$i], $str_2);
}
echo($str_2);
?>
или
PHP код:
<?php
$str_1 = "index.php?var={num}&text={rus}¶m={eng}";
$str_2 = '{rus}/page-{num}/{eng}.html';
$regexp = '/[\?|&]([^=]*)=([^&]*)/is';
preg_match_all($regexp , $str_1, $match);
for($i = 0; $i < count($match[2]); $i++)
{
switch($match[2][$i])
{
case '{rus}':
$var = '1';
break;
case '{num}':
$var = '2';
break;
case '{eng}':
$var = '3';
break;
}
$str_2 = str_replace($match[2][$i], $var, $str_2);
}
echo($str_2);
?>
Наверное ты так хотел?
Последний раз редактировалось FireFenix; 07.06.2009 в 15:43..
|
|
|

07.06.2009, 15:54
|
|
Участник форума
Регистрация: 26.12.2006
Сообщений: 107
С нами:
10196899
Репутация:
27
|
|
Сообщение от FireFenix
Наверное ты так хотел?
Пасиб, но это совсем не то)
Gifts, спасибо то что надо, выручил!
|
|
|

07.06.2009, 15:41
|
|
Постоянный
Регистрация: 02.03.2008
Сообщений: 893
С нами:
9574565
Репутация:
712
|
|
Gifts огромное спасибо ... +++ ставить ?))
жалко поортить 777 
|
|
|

07.06.2009, 15:44
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
С нами:
9497186
Репутация:
1304
|
|
spamoney
PHP код:
$str1="show.php?tut={rus}&trem={eng}&pabam={num}";
$str2="{rus}/page-{num}/{eng}.html";
function zamena($str1,$str2)
{
$array = array('{rus}','{num}','{eng}');
foreach ($array as $one) $outarr[$one]=strpos($str1,$one);
asort($outarr, SORT_NUMERIC);
$outarr=array_keys($outarr);
foreach ($outarr as $i => $one) $str2 = str_replace($one,$i+1, $str2);
return $str2;
}
echo zamena($str1,$str2);
|
|
|

07.06.2009, 23:05
|
|
Познающий
Регистрация: 29.11.2004
Сообщений: 80
С нами:
11286751
Репутация:
6
|
|
Есть файл. Там много мусора, но мне с етого файла надо отпарсить IDшники.. ID вигледит так uid="4552312312321" как зделать чтоб скрипт нашёл IDшники и записал их в файл?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|