Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Nagłówek HTTP-Request klienta - odczyt po stronie serwera
Forum PHP.pl > Forum > Przedszkole
shinuexx
Witam
Jak można odczytać dane jakie zostały przesłane na serwer podczas połączenia?? Chodzi mi głównie o nagłówki. Tzn. łączę się z serwerem poprzez przeglądarkę która wysyła jakieś nagłówki. Chodzi mi o to czy istnieje możliwość odczytania tego nagłówka - zapytania jako całości po stronie serwera.
gorden
http://www.php.net/manual/en/reserved.variables.server.php
$http_response_header
lub plugin do firefoxa live http headers
shinuexx
chodzi mi o dokładne zapytanie, niesparsowane. Po prostu to co otrzymuje serwer w zapytaniu w postaci 'string'u. Chcę je np zapisać do pliku.

istnieje taka możliwość bezpośrednio czy tylko wyszukując w $_SERVER będę musiał to zrobić?
by_ikar
http://php.net/manual/pl/function.getallheaders.php <- tyle że ta funkcja zwraca ci tablicę. Więc proste foreach powinno załatwić całą sprawę:

  1. <?php
  2.  
  3. $headers = '';
  4. foreach ((array)getallheaders() as $key => $val)
  5. {
  6. $headers .= $key.': '.$val.PHP_EOL;
  7. }
  8.  
  9. echo $headers;


manual, manual, manual.. wink.gif
shinuexx
a widzisz. Z początku odrzuciłem tą funkcję bo na moim kompie nie działa. Ale sprawdziłem na serwerze i będzie. Dzięki.

i guzik. Na jednym serwerze działa na drugim nie. można jakoś inaczej to rozwiązać? czy tylko ręcznie?
by_ikar
Zajrzyj do dokumentacji. Ta funkcja zwraca tylko nagłówki w przypadku serwera apache. W komentarzach na szybko jak zajrzałem, widziałem coś o nginx pisali. Sprawdź w ogóle jaki masz serwer i potem szukaj czy w dokumentacji jest odpowiednia funkcjonalność.

EDIT: tak na szybko, ostatni komentarz: http://www.php.net/manual/pl/function.apac...aders.php#70810
shinuexx
oki sprawdzę to..
1:
Kod
[SERVER_SOFTWARE] => string[21] ("Apache/2.2.3 (CentOS)")

2:
Apache/2.2.19 (Unix) mod_ssl/2.2.19 OpenSSL/0.9.8r


poza tym ten ostatni komentarz bazuje na regularnym "HTTP" a nie każdy klucz w $_SERVER odpowiadający nagłówkowi zaczyna się od HTTP np.
Kod
        [CONTENT_LENGTH] => string[2] ("85") ord(56;53)
    [CONTENT_TYPE] => string[33] ("application/x-www-form-urlencoded")
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.