Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: curl_init()
Forum PHP.pl > Forum > PHP
serdz
moj skrypt:

  1. <?php
  2.  
  3. $c = curl_init();
  4. curl_setopt($c, CURLOPT_SSL_VERIFYHOST,  2);
  5. curl_setopt($c, CURLOPT_URL, &#092;"http://adres.pl/skrypt_przetwarzajacy_formularz.php\");
  6. curl_setopt($c, CURL_POST, 1);
  7. curl_setopt($c, CURLOPT_POSTFIELDS, &#092;"login=naszlogin&pass=naszehaslo\");
  8. curl_setopt($c, CURLOPT_RETURNTRANSFER,1);
  9. curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1);
  10. curl_setopt($c, CURLOPT_COOKIEJAR, &#092;"/sciezka/cookie.txt\");
  11. $a=curl_exec($c);
  12. curl_close($c);
  13. echo $a;
  14.  
  15. ?>


czym po wyslaniu CURLOPT_POSTFIELDS do jakiegos formularza, po zalogowaniu juz sie, pobrac jakis plik (badz przejsc w podstrone) ?
moze inaczej, jak wywolac drugi raz CURLOPT_URL w jednym curl_init()

(chodzi mi oto, aby po zalogowaniu przejsc w nastepna podstrone i dalej pobrac plik - ta podstrona jest niedostepna bez logowania)

-----------------------
problem rozwiazany
FiDO
Przede wszystkim musza Ci dzialac ciacha, a do tego brakuje Ci linijki:
  1. <?php
  2.  
  3. curl_setopt($c, CURLOPT_COOKIEFILE, &#092;"/sciezka/cookie.txt\");
  4.  
  5. ?>

Obie sciezki musza prowadzic do jednego pliku (COOKIEFILE oraz COOKIEJAR) i musza byc bezwzgledne (wzgledne nie dzialaja, nie jest to udokumentowane).

Teraz po wywolaniu pierwszego exec'a (logowanie) musisz zmienic URL'a oraz tryb z POST na GET (no chyba ze nadal ma byc POST), czyli
  1. <?php
  2.  
  3. curl_setopt($c, CURLOPT_URL, &#092;"http://jakis.nowy/adres.html\");
  4. curl_setopt($c, CURLOPT_HTTPGET, 1); 
  5.  
  6. ?>

i po tym robisz kolejnego exec'a ktory bedzie pobraniem tej strony/pliku.

CURLOPT_HTTPGET rowniez nie jest udokumentowany (ogolnie dokumentacja do curla kuleje mocno).
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.