Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [cURL] Skryp oparty na requestach
Forum PHP.pl > Forum > Przedszkole
Grzesiekk94
Witam, chciałbym napisać skrypt w PHP, którego umieszczę w CRONie. Miałby on zdalnie zalogować się np. na pocztę i wysłać wiadomość na podany email. Z tego, co czytałem należy to zrobić w CURLu. Chciałbym, żebyście wytłumaczyli mi mniej więcej jak wysyłać requesty, żeby zalogować się na pocztę, co zwracają, czego będę potrzebował, aby zdalnie zarządzać kontem? Czytałem trochę poradników, niestety tylko po polsku, mój angielski nie jest jeszcze na takim poziomie, aby rozumieć dokumentację sadsmiley02.gif nie prosze o gotowe rozwiązanie, chciałbym się tego nauczyć
kapslokk
A nie lepiej po prostu użyć np. PHPMailera?
Grzesiekk94
nie, ponieważ chcę nauczyć się nagłówków HTTP i CURLa
KsaR
Cytat(Grzesiekk94 @ 23.09.2015, 21:31:14 ) *
nie, ponieważ chcę nauczyć się nagłówków HTTP i CURLa

CURL:
http://www.php.pl/Wortal/Artykuly/PHP/Bibl...i-protokol-HTTP
Nagłówki:
https://pl.m.wikipedia.org/wiki/Lista_nagłówków_HTTP
Comandeer
A to pocztę nie lepiej obsłużyć przez POP3/IMAP + SMTP? Nie wiem jaki jest sens robić to przez webmaila (zwłaszcza, że one są mocno JS-owe i niekoniecznie cURL bez wsparcia np. PhantomaJS coś zdziała!)
Grzesiekk94
@Comandeer

Poczta to tylko taki przykład, równie dobrze mogłem napisać na facebooka.

@KsaR

Czytałem te artykuły, robiłem przykłady, ale wciąż nie wiem jak to obsłużyć...

napisałem taki kod:

  1. <?php
  2. $c = curl_init();
  3. curl_setopt($c,CURLOPT_URL,'https://google.pl');
  4. curl_setopt($c,CURLOPT_HEADER,1);
  5. curl_exec($c);
  6. ?>


dostałem odpowiedzi serwera, ale jak wymusić jakąś akcje?
KsaR
http://pl1.php.net/manual/pl/function.curl-setopt.php
Poczytaj o tej funkcji w manualu, dzieki jej mozesz wykonac rozne akcje.
Lub tez o jej zamienniku dzieki ktoremu mozesz w tablicy 1 wywolaniem.
http://pl1.php.net/manual/pl/function.curl-setopt-array.php
qjam
Skoro chcesz "chodzić" po stronie to skorzystaj z biblioteki Goutte wink.gif Korzysta ona z Guzzle (biblioteka do obsługi cURL) i wydajesz polecenia w co kliknąć, co ma się zadziać wink.gif
Grzesiekk94
@KsaR

jest juz lepiej, bo wyświetla mi stronę, ale dalej nie mogę się zalogować, co może być nie tak? Jak ustawić cookies?

  1. <?php
  2. $config['address'] = 'http://forum.php.pl/logowanie.html';
  3.  
  4. $path['cookie'] = '/cookies.txt';
  5.  
  6. $ch = curl_init($config['address']);
  7. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  8. curl_setopt($ch, CURLOPT_HEADER, 1);
  9. curl_setopt($ch, CURLOPT_POST, 1);
  10. curl_setopt($ch, CURLOPT_POSTFIELDS, "referer=http%3A%2F%2Fforum.php.pl%2Findex.php%3F&UserName=EXAMPLE&PassWord=EXAMPLE&CookieDate=1");
  11. curl_setopt($ch, CURLOPT_COOKIEFILE, $path['cookie']);
  12. curl_setopt($ch, CURLOPT_COOKIEJAR, $path['cookie']);
  13. $result = curl_exec($ch);
  14. curl_close($ch);
  15.  
  16. echo $result;
  17. ?>


@qjam

Dzięki, z tego widziałem, to jest dobre snitch.gif zacznę to ogarniać jak tylko uda mi się napisać skrypt za pomocą CULRa
Comandeer
Ale po co chcesz bawić się przestarzałym cURL-em skoro Guzzle i tak musi z niego korzystać, ale jest 3 razy wygodniejsz i nie musisz się babrać w tych dziwnych funkcjach? Trochę dla mnie masochizmem zalatuje wink.gif
Grzesiekk94
Spróbuje w takim razie tego guzzle'a snitch.gif
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.