Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pobieranie zawartości żądania HTTP, z nagłówkami nie ma problemu...
davidD
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 10.10.2002

Ostrzeżenie: (0%)
-----


Witam.

Wysyłam socketem normalne żądanie HTTP do skryptu w php, który ma na nie odpowiednio odpowiedzieć. I teraz pojawia się problem - muszę w tym skrypcie jakoś pobrać zawartość tego żądania... Z nagłówkami nie ma problemu, ale co z samą zawartością? Nie udało mi się znaleźć żadnego sposobu, może Wy coś poradzicie? (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

W ostateczności mogę wysłać to w nagłówku, ale jednak wolałbym tego uniknąć...

Dzięki (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Ten post edytował davidD 4.01.2005, 22:43:08
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
davidD
post
Post #2





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 10.10.2002

Ostrzeżenie: (0%)
-----


Cytat(hawk @ 2005-01-05 17:03:13)
To może zacznijmy od początku: co w ogóle chcesz zrobić? Raw POST data?

Ech, no dobra:
wymyśliłem sobie mały system do automatycznego update'u jednej aplikacji zainstalowanej na kilku różnych serwerach. A działać ma to tak: uruchamiany przeze mnie skrypt ("klient") łączy się przez socket z plikiem (nazwijmy go "serwerem") znajdującym się na zdalnym serwerze. Wysyła mu w nagłówkach odpowiednie dane (np. klucz do autoryzacji) oraz - właśnie w treści żądania - patch napisany w jakimś dialekcie XML, wyglądający w uproszczeniu np. tak:
  1. <patch version="0.1" application="cms">
  2.      <file name="config.inc.php">
  3.            <line number="100" action="remove" />
  4.      </file>
  5. </patch>

"Serwer" ma pobrać z żądania HTTP, przez które został wywołany, odpowiednie dane - czyli klucz z nagłówka i właśnie patch z treści żądania. Nie chciałem wysyłać tego w nagłówku, żeby niepotrzebnie nie kompikować tego pseudo-protokołu...

Cytat(hawk @ 2005-01-05 17:03:13)
Raw POST data?

Szczerze mówiąc, co nie znam dobrze HTTP i zaczynam się gubić - może w POST w treści żądania nie wysyła się innych danych poza wartościami parametrów POST? (IMG:http://forum.php.pl/style_emoticons/default/blink.gif)

---
No ale dzięki, pomogłeś mi - szukając o Raw POST Data udało mi się znaleźć sposób:
  1. <?php
  2. $ph = fopen(&#092;"php://input\", \"rb\");
  3. while (!feof($ph))
  4. {
  5. $post .= fread($ph, 4096);
  6. }
  7. fclose($ph);
  8.  
  9. ?>

Tylko teraz pozostaje pytanie, czy wysyłanie takich danych w treści żądania POST jest zgodne z HTTP? Czytając odpowiedni RFC nie udało mi się jednoznacznie odpowiedzieć sobie na to pytanie... (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Ten post edytował davidD 5.01.2005, 17:51:01
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 09:39