Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Return z żądania http
Forum PHP.pl > Forum > Przedszkole
Wasper
Witam.

Mam wyslac zadanie http na jakis adres powiedzmy http://xxx.xxx.pl
Zwraca mi ono status, przykladowo "return "Status: 0 OK";"

Jak sie do tego zabrac w php, zeby status odebrac i zapisac w zmiennej? Wiem, ze temat trywialny, ale jakos nie moge tego ogarnac...
Bede wdzieczny za pomoc.
nospor
Jesli status jest zwracany w nagłówku to cURL
Jeśli status jest zwracany jako tresc strony to wystarczy file_get_contents(twoja strona.pl);
Wasper
on zwraca status w postaci return a nie jako echo..
metoda ktora napisales zadzialala jak sobie wyrzucilem status przy pomocy echo a jak wyrzucilem return to var_dump pokazal mi "string(0) '' "
nospor
No jeśli strona nie zwraca żadnych danych na zewnątrz, no to sorki, nie ma bata, nic nie zrobisz.
Wasper
Wlasnie wykonalem odpowiedni telefon i uscislilem wiedze. Naglowki beda wysylane w headerach.
header('Status: .... ')...

Czyli Curl? Cos kiedy w tym grzebalem, ale headerow nie odbieralem...
nospor
To zajrzyj do manuala. Masz tam dokładnie napisane co i jak w kwesti cURL. Podane są nawet przykłady.
Wasper
  1. $xml = curl_init();
  2. curl_setopt($xml, CURLOPT_URL, "http://xx.xxx.pl'");
  3. curl_setopt($xml, CURLOPT_RETURNTRANSFER, true);
  4. curl_setopt($xml, CURLOPT_HEADER, true);
  5. curl_setopt($xml, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
  6. $output = curl_exec($xml);
  7. curl_close($xml);
  8. echo $output;


tu jest ok, tylko ze wyrzuca mi wszystkie headery w jednym ciagu
nospor
No i jaki masz problem by zrobić explode po \n i rozbić je na tablice i kazdy nagłówek mieć w tablicy.
Albo przepuścic przez wyrażenie regularne by wybrać tylko to co cię interesuje?
Wasper
  1. public function validateHash() {
  2.  
  3. $url = "xxxxxx";
  4. $miConnect = curl_init();
  5. curl_setopt($miConnect, CURLOPT_URL, $url);
  6. curl_setopt($miConnect, CURLOPT_RETURNTRANSFER, true);
  7. curl_setopt($miConnect, CURLOPT_HEADER, true);
  8. curl_setopt($miConnect, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
  9. $outString = curl_exec($miConnect);
  10. curl_close($miConnect);
  11.  
  12. $status = substr($outString, strpos($outString, "Status: "), 11);
  13. $statusFinal = (integer)substr($status, 8, strpos($status, " "));
  14.  
  15. return $statusFinal;
  16. }


final version smile.gif
dziala jak nalezy, dzieki za pomoc
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.