Po długim przeszukiwaniu tegoż forum w celu znalezienia odpowiedz na moje pytanie stwierdziłem, że jej tam chyba nie ma smile.gif Więc zadam to pytanie w tym temacie. Jak można się zalogować na na stronę i pobrać póżniej jej kod źródłowy za pomocą cURL questionmark.gif Przeczytałem już chyba wszystko co jest na temat cURL na www.php.net i w ogóle nie mam pojęcia jak coś takiego można zrobić questionmark.gif Czy ktoś może wie jak to zrobić questionmark.gif

[EDITED]
złapałem jakiś trop ale nie wiem jak go doszlifować bo w obecnej formie raczej nie działa smile.gif
No więc ponieważ mam wtyczkę do mozilli Live HTTP Headers to mogę prześledzić jakie rzeczy wysyła przeglądarka do strony i rozumiem, że też to mam ustawić w CURL-u. Wysyłając dane otrzymuje coś takiego


POST /skrypt.php HTTP/1.1
Host: strona.pl
Content-Type: application/x-www-form-urlencoded
Content-Length: 122
zm1=war2&zm2=war2&zm3=war3&zm4=***********&zm5=war5&zm6=war6&zm7=war7&zm8=war8

  1. curl_setopt($ch, CURLOPT_POST, 1);
  2. curl_setopt($ch, CURLOPT_HEADER, 1);
  3. curl_setopt($ch, CURLOPT_URL,$url );
  4. curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
  5. curl_setopt($ch, CURLOPT_FILE, $fp);
  6. $result = curl_exec($ch);
  7. curl_close($ch);
  8.  
  9. fclose($fp);


i dodatkowe pytanie. Ponieważ format przesyłania to x-www-form-urlencoded to także w zmiennej1 występuje raz zamiast ":" jego kod ASCII %3A. Czyli zmienna powinna być z ":" czy z kodem ASCII questionmark.gif

Dodam tylko, że $result daje wartość 1 a w pliku zapis.txt jest kod źródłowy jak chciałem ale strony logowania (takiej, która pojawia się jak się źle wpiszę hasło czyli jest tam "zapomniałeś hasła ? Kliknij tutaj" ) czyli to by znaczyło, że podaje źle hasło. Ale czemu questionmark.gif

[EDITED2]
Sorry, że tak ciągle edytuje tego posta ale idę z problemem do przodu jakoś fartownie smile.gif Problemem tam było oczywiście hasło. Trzeba je w zmiennej wpisać w postaci jawnej(zamiast gwiazdek) Nie kasuje tematu bo ufam, że moje problemy kiedyś komuś się przydazą. Idać za ciosem pojawia się kolejny problem z którym już tak łatwo nie będzie bo 2 dni się z nim męczyłem. A chodzi konkretnie o wyrażenia regularne: kod strony wygląda mniej więcej tak:

  1. <tr>
  2. <td><img src="http://jakis.tam.link.pl/kat1/kat2/Nie_wycinac.gif" border="0"></td>
  3. <td><a href="skrypt.php?id=01">Tekst1 </a></td>
  4. <td>Tekst2</td>
  5. <td width="110">02.12.06 14:53</td>
  6. </tr>
  7.  
  8. <tr>
  9. <td><img src="http://jakis.tam.link.pl/kat1/kat2/WYCIAC.gif" border="0"></td>
  10. <td><a href="skrypt.php?id=01">Tekst1 </a></td>
  11. <td>Tekst2</td>
  12. <td width="110">02.12.06 14:54</td>
  13. </tr>
  14.  
  15. <tr>
  16. <td><img src="http://jakis.tam.link.pl/kat1/kat2/Nie_wycinac.gif" border="0"></td>
  17. <td><a href="skrypt.php?id=01">Tekst1 </a></td>
  18. <td>Tekst2</td>
  19. <td width="110">02.12.06 14:55</td>
  20. </tr>


chciałbym wyciąć tę część tabeli gdzie jest obrazek WYCIAC.gif. Dowiedziałem się, że trzeba to zrobić preg_match (albo preg_match_all - nie jestem pewien które lepsze questionmark.gif) Problemu które się przy tym pojawiają:

1) Nie wiem jak radzić sobie z końcem lini we wzorze na wyrażenie regularne. Czy je w ogóle pomijać czy stosować jakoś /n
czyli czy na coś takiego

kot
ek

zadziała k.t.k questionmark.gif czy raczej jakoś k.t/n.k

2) Nie wiem jak w atomie wskazać, że może być znak / bo coś takiego ([A-Za-z0-9/]+) nie działą a wersja (/[A-Za-z0-9]+) też mi tak jakoś średnio chodziła więc idąc nieco na łatwiznę zastąpiłem to [[:GRAPH:]] i kod wygląda mniej więcej tak

  1. $strUser= fread(fopen("zapis.txt", "r"), filesize("zapis.txt"));
  2. preg_match("/^<tr><td><img src="([[:graph:]]+)WYCIAC\\.gif" ([[::graph]]+)([0-9]{2})\\.([0-9]{2})\\.([0-9]{2})([0-9]{2}):([0-9]{2})<\\/td>$/", $strUser, $r);


ale dostaje błąd:parse error, unexpected '(' I tak tkwię już w tym od dni kilku bo ja nie widzę tam błędu :/ Wiem, że mu się nie podoba, żę przy src= jest " ale czemu mu to się nie podoba questionmark.gif Jak zamienić na ' wszystko jest cacy! A nie da się uciec od tego zamieniając na \\"