PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 8
chigok Отправлено: 08 Июня, 2009 - 11:25:13 • Тема: Авторизация и Vbulletin • Форум: Напишите за меня, пожалуйста

Ответов: 4
Просмотров: 72
vitaliy_mad пишет:
может в браузере они отключены?

Нет, если заходить вручную, то все нормально. Но я пытаюсь заходить скриптом.

Вездеход пишет:
chigok
если внешний скрипт - то это через курл или сокеты конектитесь? или он просто не от форума? =)


через curl. Вот мой скрипт:

PHP:
скопировать код в буфер обмена
  1.  
  2. //Функция, которой отправляю
  3.  
  4. function file_open($url,$post,$referrer,$cook)
  5. {
  6.         $ch = curl_init();
  7.         curl_setopt($ch, CURLOPT_URL, $url);
  8.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  9.         curl_setopt($ch, CURLOPT_TIMEOUT, 30);
  10.         curl_setopt($ch, CURLOPT_POST,1);
  11.         curl_setopt($ch, CURLOPT_HEADER, 1);
  12.         curl_setopt($ch, CURLOPT_REFERER, $referer);
  13.         curl_setopt($ch, CURLOPT_POSTFIELDS,$post);
  14.         curl_setopt($ch, CURLOPT_COOKIE, $cook);
  15.         $get_row_urlink = curl_exec($ch);
  16.         curl_close($ch);
  17.     return $get_row_urlink;
  18. }
  19.  
  20. //Получить "bblastvisit" и "bblastactivity"
  21. //bblastactivity всегда равно 0, поэтому его не нахожу.
  22. // Также находим значения всех скрытых полей формы отправки
  23.  
  24.  
  25. $header = file_open('http://ub3rhack3r5.org/newthread.php?do=newthread&f=20','1','index.php',$cook);
  26. //echo $header;
  27.  
  28. preg_match("/bblastvisit=(.+?);/",$header,$cookie);
  29. $cook='bblastvisit='.$cookie[1].'; bblastactivity=0;';
  30. echo '<br><br> cook1 '.$cook.'<br><br>';
  31.  
  32.  
  33. preg_match("/class=\"panel\">(.+?)class=\"smallfont\"/is",$header,$out);
  34. preg_match_all("/name=\"(.*?)\"\s+value=\"(.*?)\"/i",$out[1],$dootp);
  35. //print_r($dootp);
  36.  
  37. for($r=0;$r<count($dootp[1]);$r++){
  38. if($dootp[1][$r]=='url'){
  39. $dannie_dootp1 .= $dootp[1][$r].'='.preg_replace("/&/i",'%26',$dootp[2][$r]).'&';
  40.                                   }
  41.                                
  42. else{                                          
  43. $dannie_dootp1 .= $dootp[1][$r].'='.$dootp[2][$r].'&';
  44.       }
  45.                                                      }
  46. echo '<br><br>   '.$dannie_dootp1.'<br><br>';  
  47.                                          
  48.  
  49. //Это делается для того, чтобы получить "bbsessionhash"
  50.  
  51.  
  52. $header = file_open('http://ub3rhack3r5.org/login.php?do=login',$dannie_dootp1.'vb_login_username=test_login&vb_login_password=123456','index.php',$cook);     
  53. //$header;             
  54. $cook ='';
  55.  
  56. preg_match("/bbsessionhash=(.+?);/",$header,$cookie_session);
  57.      
  58. $cook='bblastvisit='.$cookie[1].'; bblastactivity=0; bbsessionhash='.$cookie_session[1].';';
  59. echo '<br><br> cook2 '.$cook.'<br>';
  60.  
  61. // Теперь, имея все куки и зная значения всех скрытых полей формы, пытаюсь //авторизоваться
  62.  
  63. $header = file_open('http://ub3rhack3r5.org/login.php?do=login',$dannie_dootp1.'vb_login_username=test_login&vb_login_password=123456','index.php',$cook);     
  64. echo $header;
  65. // Не получается =(
  66.  


Код рабочий, можете запустить и посмотреть, в чем проблема...
P.S. Программированию учился сам, поэтому не сильно пинайте за кривой код Закатив глазки
chigok Отправлено: 08 Июня, 2009 - 00:09:13 • Тема: Авторизация и Vbulletin • Форум: Напишите за меня, пожалуйста

Ответов: 4
Просмотров: 72
Не получается под своим логином открыть какую-либо страницу форума на движке Vbulletin внешним скриптом. У меня получается залогиниться(т.е. вижу надпись "Thank you for logging in", но после автоматического редеректа я опять становлюсь "гостем". Подозреваю, что дело в Cookies, но в чем конкретно не могу додуматься.
chigok Отправлено: 24 Апреля, 2009 - 20:43:52 • Тема: Параллельная работа 2х скриптов • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 82
Stierus пишет:
http://ru2.php.net/manual/ru/function.exec.php
Там же лежит функция
PHP:
скопировать код в буфер обмена
  1. function execInBackground($cmd) {
  2.     if (substr(php_uname(), 0, 7) == "Windows"){
  3.         pclose(popen("start /B ". $cmd, "r"));
  4.     }
  5.     else {
  6.         exec($cmd . " > /dev/null &");  
  7.     }
  8. }

Пробовал так:
CODE (text):
скопировать код в буфер обмена
  1. execInBackground("start php.exe -f c:\WebServers\home\localhost\www\0_papka\script1.php");
  2. execInBackground("start php.exe -f c:\WebServers\home\localhost\www\1_papka\script2.php");

И так:
PHP:
скопировать код в буфер обмена
  1. execInBackground("c:\WebServers\home\localhost\www\0_papka\script1.php");
  2. execInBackground("c:\WebServers\home\localhost\www\1_papka\script2.php");

Итог: открывает, но не запускает

Так:
PHP:
скопировать код в буфер обмена
  1. execInBackground(exec("start php.exe -f c:\WebServers\home\localhost\www\0_papka\script1.php"));
  2. execInBackground(exec("start php.exe -f c:\WebServers\home\localhost\www\0_papka\script1.php"));

Итог: запускает, но последовательно.

valenok пишет:
В качестве комманды Вот тут exec("start /b command"Подмигивание;


Пробовал:
PHP:
скопировать код в буфер обмена
  1. exec("start /B php.exe -f c:\WebServers\home\localhost\www\0_papka\script1.php");
  2. exec("start /B php.exe -f c:\WebServers\home\localhost\www\1_papka\script2.php");

Итог: запускается, но последовательно

Не знаю, что делать.
chigok Отправлено: 23 Апреля, 2009 - 18:25:47 • Тема: Параллельная работа 2х скриптов • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 82
valenok пишет:
что значит открывается ?

Скрипты script1.php и script2.php открываются в macromedia dreamweavere, т.е. показывается их код, но он не исполняется.

Цитата:
А если в качестве комманды что-то вроде
php.exe -f test.php


То получается как в моем первом посте:
CODE (text):
скопировать код в буфер обмена
  1. exec("start php.exe -f c:\WebServers\home\localhost\www\0_papka\script1.php");
  2. exec("start php.exe -f c:\WebServers\home\localhost\www\1_papka\script2.php");
  3.  


Т.е. скрипты запускаются,но поочереди. Надо чтобы параллельно.
Параллельная работа получается, если script1.php и script2.php одновременно запускать из браузера. Но я умру запускать одновременно 20-40 скриптов. Поэтому хотелось бы, чтобы это делалось из скрипта и 1 раз.
chigok Отправлено: 23 Апреля, 2009 - 17:41:28 • Тема: Параллельная работа 2х скриптов • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 82
valenok пишет:
exec("start /b command")


Пробовал такой вариант... К сожалению, скрипт не запускается, а лишь открывается. Однако
P.S. Мне под виндоус хп и нужно Улыбка
chigok Отправлено: 22 Апреля, 2009 - 21:45:34 • Тема: Параллельная работа 2х скриптов • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 82
Сообственно сабж. Пытаюсь сделать так:
-в файле script0.php прописываю:
PHP:
скопировать код в буфер обмена
  1.  
  2. exec('start php -f c:\WebServers\home\localhost\www\0_papka\script1.php &');
  3. exec('start php -f c:\WebServers\home\localhost\www\1_papka\script2.php &');
  4.  

Но получается, что сначала выполняется script1.php, а затем script2.php. Надо,чтобы выполнялись параллельно. Буду благодарен за помощь.
chigok Отправлено: 02 Апреля, 2009 - 16:17:22 • Тема: Залив картинки на ipicture.ru • Форум: Напишите за меня, пожалуйста

Ответов: 0
Просмотров: 41
Не получается заливать картинки на ipicture.ru.

Наиболее упрощённый HTML-код для заливки рисунка на ипикче:
CODE (text):
скопировать код в буфер обмена
  1. <html>
  2. <body>
  3. <form action="http://ipicture.ru/Upload/" id="upload" method="post" enctype="multipart/form-data" name="upload">
  4. <input type='hidden' name='method' id='method' value='file'/>
  5. Файл: <input type='file' name='userfile' id='userfile' size='60'/>
  6. <input type="submit" style="width: 80px; height: 22px;" value="Загрузить">
  7. <br><input name="status" id="status" type="checkbox" checked>
  8. </body>
  9. </html>



Вот php скрипт, которым пытаюсь заливать:
PHP:
скопировать код в буфер обмена
  1.  
  2. $handle = fopen ('z:\home\localhost\www\kartinka.jpg', 'rb');
  3. if(!$handle) {                            
  4. echo '<br><br><br>КАРТИНКА НЕ ОТКРЫЛАСЬ   !!!!!<br><br><br>';
  5. }
  6. else{
  7. while(!feof($handle))
  8. {
  9. $data = fread($handle, 2048);
  10. $kartinka .= $data;  
  11. }
  12. fclose ($handle);
  13. }
  14.  
  15. $c = curl_init();
  16. $boundary = '41184676334';
  17. $req = "--".$boundary."\n".'Content-Disposition: form-data; name="method"'."\n\n".'file'."\n--".$boundary."\n".'Content-Disposition: form-data; name="userfile"; filename="kartinka.jpg"'."\n".'Content-Type: image/jpeg'."\n\n".$kartinka."."\n--".$boundary."--\n";
  18. //echo $req.'</pre><br>} @ '.strlen($req).' bytes total<br><br>';
  19. curl_setopt($c, CURLOPT_URL, 'http://ipicture.ru/Upload/');
  20. curl_setopt($c, CURLOPT_POST, true);
  21. curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
  22. curl_setopt($c, CURLOPT_COOKIEJAR, "coockies.txt");
  23. curl_setopt($c, CURLOPT_COOKIEFILE, "coockies.txt");
  24. curl_setopt($c, CURLOPT_HTTPHEADER, array(
  25.    'Host: ipicture.ru',
  26.    'Content-Length: '.strlen($req),
  27.    'Referer: http://ipicture.ru',
  28.    'Content-Type: multipart/form-data; boundary='.$boundary
  29. ));
  30. curl_setopt($c, CURLOPT_POSTFIELDS, $req);
  31. $stranica =  curl_exec($c);
  32. curl_close($c);
  33. echo $stranica;


Не выдает никаких ошибок, но и картинку не заливает. На аналогичный хостинг фотографий -radikal.ru все нормально заливается, на ipicture - нивкакую. Буду очень признателен за работоспособный код .
chigok Отправлено: 02 Февраля, 2009 - 14:32:33 • Тема: Незначительная ошибка • Форум: Колонка администратора

Ответов: 4
Просмотров: 3917
Раз уж тема про незначительные ошибки, то вставлю свои 5 копеек.
На странице http://www.php.su/articles/?cat=...les&page=069 есть такой код
CODE (text):
скопировать код в буфер обмена
  1. <?php
  2.   $text =  ($_POST['mytext'];
  3.   $msg =  ($_POST['mytext'];
  4.   echo $text; // Выводим содержимое текстового поля
  5. ?>


так вот там ( не нужна. Исправть, пожалуйста, а то я сидел 20 минут думал, почему не работает скрипт. И другие новички будут столько же думать....

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB