Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [cURL] Edycja profilu w vBulletin, Problem
ladovnik
post 30.01.2011, 20:48:00
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 1
Dołączył: 25.11.2008
Skąd: Polska

Ostrzeżenie: (10%)
X----


Witam. Zrobiłem skrypt, który poprawnie loguje się na forum vBulletin. Jednak kiedy każę robotowi przyjeść na podstronę z edycją profilu, forum zwraca następujący błąd:

Cytat
Your submission could not be processed because you have logged in since the previous page was loaded.

Please push the back button and reload the previous window.


Oto kod skryptu:
  1. $CH=curl_init();
  2.  
  3. $URL='http://www.adres.pl/';
  4. $USER='ladovnik';
  5. $PASS='...';
  6.  
  7. $LOGIN_U=$URL.'login.php?do=login';
  8. $LOGIN_F=Array(
  9. 'vb_login_username' => $USER,
  10. 'cookieuser' => 1,
  11. 'vb_login_password' => $PASS,
  12. 's' => '',
  13. 'securitytoken' => 'guest',
  14. 'do' => 'login',
  15. 'vb_login_md5password' => false,
  16. 'vb_login_md5password_utf' => false
  17. );
  18.  
  19.  
  20.  
  21. curl_setopt($CH, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4');
  22. curl_setopt($CH, CURLOPT_URL, $LOGIN_U);
  23. curl_setopt($CH, CURL_POST, 1);
  24. curl_setopt($CH, CURLOPT_POSTFIELDS, mkFieldsList($LOGIN_F));
  25. curl_setopt($CH, CURLOPT_COOKIEFILE, "cookie.txt");
  26. curl_setopt($CH, CURLOPT_COOKIEJAR, "cookie.txt");
  27. curl_setopt($CH, CURLOPT_RETURNTRANSFER, 1);
  28. $res=curl_exec($CH);
  29.  
  30.  
  31. $EDIT_U=$URL.'profile.php?do=editprofile';
  32.  
  33. curl_setopt($CH, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4');
  34. curl_setopt($CH, CURLOPT_REFERER, $LOGIN_U);
  35. curl_setopt($CH, CURLOPT_URL, $EDIT_U);
  36. curl_setopt($CH, CURLOPT_RETURNTRANSFER, 1);
  37. $res=curl_exec($CH);
  38.  
  39. echo $res;
  40.  
  41. curl_close($CH);


Moja funkcja mkFieldsList robi z pól w tablicy listę w poprawnym formacie. Działa bez zarzutu, więc pomijam ją.

Pozdrawiam,
ladovnik

Ten post edytował ladovnik 30.01.2011, 20:54:10
Go to the top of the page
+Quote Post
fantek
post 1.02.2014, 21:29:02
Post #2





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 9.10.2010

Ostrzeżenie: (0%)
-----


Mam ten sam problem sad.gif

Mój kawałek kodu :
  1. <?php
  2. function postString($dataArray) {
  3. foreach($dataArray as $key => $value) {
  4. if(strlen(trim($value)) > 0) {
  5. $value = is_array($value) ? $value : urlencode($value);
  6. $tempString[] = $key . "=" . $value;
  7. }
  8. else {
  9. $tempString[] = $key;
  10. }
  11. }
  12. $queryString = join('&', $tempString);
  13. return $queryString;
  14. }
  15.  
  16. $target = "http://minigun.pl/login.php?do=login";
  17. // post data
  18.  
  19. $postArray['vb_login_username'] = "login";
  20. $postArray['vb_login_password'] = "haslo";
  21. $postArray['cookieuser'] = 1;
  22. $postArray['s'] = '';
  23. $postArray['securitytoken'] = 'guest';
  24. $postArray['do'] = "login";
  25.  
  26. $ch = curl_init();
  27. curl_setopt($ch, CURLOPT_URL, $target);
  28. curl_setopt($ch, CURLOPT_POSTFIELDS, postString($postArray));
  29. curl_setopt($ch, CURLOPT_POST, TRUE);
  30. curl_setopt($ch, CURLOPT_HEADER, 1); // return headers
  31. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  32. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  33. curl_setopt($ch, CURLOPT_REFERER, 'http://minigun.pl'); );
  34. curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt');
  35. curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); // Use cookie.txt for STORING cookies
  36. $html = curl_exec($ch); // Execute! $html contains curl data!
  37.  
  38.  
  39. curl_setopt($ch, CURLOPT_URL, 'http://minigun.pl/forumdisplay.php?6-Strefa-Admin%C3%B3w');
  40. curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt');
  41. curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
  42. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  43. curl_setopt($ch, CURLOPT_HEADER, 1);
  44. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  45.  
  46. $html2 = curl_exec($ch);
  47. echo $html2 ;
  48.  
  49. curl_close($ch);
  50. ?>


Może ktoś pomóc ?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.06.2025 - 15:28