Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt w curlu się wysypał
Forum PHP.pl > Forum > PHP
radmistrz2
Wczesniej to działało. Nie pamiętam żebym coś zmieniał a przestało działać. W drugim wywołaniu curla wczytuje mi stronę proszącą o podanie logunu i hasla. Nie jest to wina tokena bo wcześniej za każdym razem mi go przyjmowało.
  1. <?php
  2. function szukajpeb_pl($login, $pass, $nazwa)
  3.    {
  4.    //logowanie
  5. $pass = md5($pass);
  6.    $ch = curl_init();
  7.        curl_setopt($ch, CURLOPT_URL, 'http://peb.pl/login.php?do=login' );
  8.        curl_setopt($ch, CURLOPT_POST, true );
  9.        curl_setopt($ch, CURLOPT_REFERER, 'http://peb.pl/index.php');
  10.        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  11.        curl_setopt($ch, CURLOPT_HEADER, 0);
  12.        curl_setopt($ch, CURLOPT_COOKIE, 'cookie.txt');
  13.        curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
  14.        curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
  15.        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');
  16.    curl_setopt($ch, CURLOPT_POSTFIELDS, 'vb_login_username='.$login.'&cookieuser=1&vb_login_password=&s=&securitytoken=debff06e4503085adb0fb431bd41335c20da6cc1&do=login&vb_login_md5password='.$pass.'&vb_login_md5password_utf='.$pass);
  17.    curl_exec($ch);
  18.    //wyszukiwanie
  19.    $ch2 = curl_init();
  20.        curl_setopt ($ch2, CURLOPT_URL, 'http://peb.pl/search.php?do=process');
  21.        curl_setopt ($ch2, CURLOPT_POST, true );
  22.        curl_setopt ($ch2, CURLOPT_REFERER, 'http://peb.pl/search.php');
  23.        curl_setopt ($ch2, CURLOPT_RETURNTRANSFER, true );
  24.    curl_setopt ($ch2, CURLOPT_FOLLOWLOCATION, true );
  25.        curl_setopt ($ch2, CURLOPT_HEADER, 0);
  26.        curl_setopt ($ch2, CURLOPT_COOKIEFILE, 'cookie.txt');
  27.        curl_setopt ($ch2, CURLOPT_COOKIEJAR, 'cookie.txt');
  28.        curl_setopt ($ch2, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4');
  29.    curl_setopt ($ch2, CURLOPT_POSTFIELDS, 'do=process&quicksearch=1&childforums=1&exactname=1&s=&securitytoken=debff06e4503085adb0fb431bd41335c20da6cc1&query='.$nazwa.'&showposts=0');
  30.  
  31.    $ciaga = strrev(strstr(curl_exec($ch2), 'Forum'));
  32.    $ciagb = strrev(strstr($ciaga, strrev('     $tablicaa = explode('id=&#092;"thread_title_', $ciagb);
  33.    $ilewynikow = count($tablicaa);
  34.    for($i=0; $i<=$ilewynikow; $i++)
  35.    {
  36.    $tablicab[$i] = $tablicaa[$i];
  37.    $tablicadanych = explode('>', $tablicab[$i]);
  38.    $tytul[$i] = strrev(substr(strrev($tablicadanych[1]), 3));
  39.    $id[$i] = $tablicadanych[0];
  40.    }
  41.    $ilepostow = count($tytul)-1;
  42.    $generwtornazw = '';
  43.    for($i=1; $i<$ilepostow; $i++)
  44.    {
  45.    $generwtornazw .= ''.$tytul[$i].'
  46. ';
  47.    }
  48.    return $generwtornazw;
  49.    }
  50. ?>
bim2
Auto mi nie odpala. To nie wina silnika bo wcześniej działał.

...

@down
Hmm, to była ironia. Miała wskazać użytkownikowi, że wypowiedział się błędnie i że ma wskazać więcej szczegółów problemu.
batman
Cytat(bim2 @ 19.02.2009, 21:12:14 ) *
Auto mi nie odpala. To nie wina silnika bo wcześniej działał.
...

Jeśli nie wiesz, co masz napisać, to lepiej nic nie pisz.

@radmistrz2
Co to znaczy, że nie działa? Pokazuje jakieś błędy? W jaki sposób działało wcześniej?

Zanim odpowiesz na te pytania, to sprawdź, czy coś się przypadkiem nie zmieniło na stronie, do której się łączysz. Może trzeba logować się przez https, albo zmieniły się nazwy pól formularza lub sam sposób logowania uległ zmianie. W formularzu ustawiona jest funkcja javascript na onsubmit. Może to w niej coś się dzieje, czego Ty nie masz odtworzonego. Przyczyn może być wiele.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.