Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: cURL + Nasza Klasa
Forum PHP.pl > Forum > PHP
matthew089
Hi all. problem na tym polega, że muszę wyciągnąć wiadomości ze skrzynki odbiorczej i wyświetlić je jedna pod drugą tongue.gif
wyskrobałem już na tym forum jakieś łączenie z profilem, ale na pocztę nie mam pomysłu tongue.gif ma ktoś jakiegoś gotowca? albo ktoś na coś nakieruje? :mrgreen:

logowanie & łączenie:
  1. $cookie_file = 'cookie.txt';
  2.  
  3. $c = curl_init('http://nasza-klasa.pl/');
  4.  
  5. curl_setopt($c, CURLOPT_COOKIEJAR, $cookie_file);
  6.  
  7. curl_setopt($c, CURLOPT_COOKIEFILE, $cookie_file);
  8.  
  9. curl_setopt($c, CURLOPT_URL, 'http://nasza-klasa.pl/login');
  10.  
  11. curl_setopt($c, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12;MEGAUPLOAD 1.0");
  12.  
  13. curl_setopt($c, CURLOPT_POST, 1);
  14.  
  15. curl_setopt($c, CURLOPT_POSTFIELDS,
  16.  
  17. 'login=*****&password=*****&remember=1');
  18.  
  19. curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
  20.  
  21. curl_getinfo($c);
  22.  
  23. $s = curl_exec($c);
  24.  
  25. curl_close($c);


ale też mi się coś w nim nie podoba... jeżeli ktoś poda pełne rozwiązanie będę bardzo wdzięczny tongue.gif bo naprawdę długo męczę się z wyszukiwarką
nospor
Cytat
Hilfe!

Cytat
Hi all
Wow... Twoja wszechstronna znajomość języków obcych zaimponowała nam niesamowicie. Z poszanowaniem dla Twojej niesamowitej wiedzy i zdnolności do nauki języków obcych, proszę cię jednak, byś nie kończył każdego zdania "pokazywaniem nam języka tongue.gif" . Jest to cholernie nie kulturalne. Przychodzisz, prosisz o pomoc, popisuwe odwalasz ze znajomości dwoch zwrotów zagranicznych i na dodatek pokazujesz nam wszystkim co pare słów język... Zastanów się przez chwile nad tym co wyprawiasz i nie pisz tak więcej.
A jak ci się nie spodobają te uwagi to wracaj spowrotem na jakieś forum pokemoniaste, gdzie takie zachowanie jest zapewne na porządku dziennym.
matthew089
Przepraszam, rzeczywiście, nie spojrzałem na tą sprawę od tej strony. wezmę sobie Twoje uwagi do serca smile.gif
UNK
Pierwsze połączenie robisz dobrze, jednak nie możesz zamykać od razu sesji cURL-a. Zrób to na koniec, musisz brać to tak jak sam wchodzisz na stronę, logujesz się, chodzisz po niej, a potem wylogowujesz, cURL działa na takiej samej zasadzie, tylko za każdym razem musisz mu podać odpowiednie linki.
Następnym etapem w Twoim skrypcie powinno być wejście na stronę z wiadomościami, mnie akurat interesowały tylko nieprzeczytane, dlatego też wchodzę od razu do skrzynki odbiorczej z zaznaczeniem wyłącznie nieprzeczytanych wiadomości (pamiętaj, że nie musisz wchodzić na stronę po kolei tak jakbyś robił to przez przeglądarkę, możesz od razu przejść na wybraną podstronę)
  1. curl_setopt( $ch, CURLOPT_URL, "http://nasza-klasa.pl/poczta/inbox_unread" );
  2. ...
  3. $wiadomosci = curl_exec( $ch );

Następnie wyciągasz tylko same 'okienko' z wiadomościami (to za pomocą preg_match), podpowiem tylko, że sama skrzynka wiadomości zawiera się pomiędzy znacznikami
  1. <ul class="mail entry-content"></ul>

Na koniec pozostaje wyciągnięcie poszczególnych wiadomości, tutaj też trochę podpowiem. Do tego używam klasy DOMDocument dzięki której łatwiej jest pobrać cokolwiek (nie trzeba bawić się w preg_match na każdym kroku.
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.