Frank weber: Content-Type und Body ermitteln

Hallo,

vielleicht stehe ich total auf dem Schlauch. Aber ich kann einfach nicht herausfinden, wie eine aufgerufene Seite (also PHP-Skript) den vom Client mitgeschickten Content-Type ermitteln kann.
Im Falle von per POST übermittelten Daten brauche ich das nämlich. Falls es x-www-form-urlencoded ist, kann ich noch damit leben dass PHP ja schon alles parst und in $_POST zur Verfügung stellt. Nur kann es auch sein dass der Client ein XML-Dokument schickt und Content-Type auf text/xml stellt.

Und den Body (also das XML-Dokument) kann ich anscheinend per http_get_request_body() rausbekommen. Aber funktioniert das immer und ist das der einzige/beste Weg?

Grüße,
Frank

  1. Hi!

    Und den Body (also das XML-Dokument)

    z.B. es könnte auch HTML, CSS, Javascript, oder ein beliebiger anderer (notfalls codierter) Payload sein.

    kann ich anscheinend per http_get_request_body() rausbekommen.

    Ja! HTTP-Nachrichten bestehen aus Header + Body, letzteren hast du mit PHP isolieren können.
    Und wie weit ist nun der Weg bis zu: http_get_request_headers?

    Content-Type ist ein möglicher Header in HTTP.

    off:PP

    --
    "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
    1. Hallo,

      Ja! HTTP-Nachrichten bestehen aus Header + Body, letzteren hast du mit PHP isolieren können.
      Und wie weit ist nun der Weg bis zu: http_get_request_headers?

      Content-Type ist ein möglicher Header in HTTP.

      Nur scheint ihn http-get-request-headers nicht anzuzeigen. Mit Wireshark die Leitung abgehört zeigt, dass der Client u.a. Content-Type und Content-Length mitschickt. Nur listet
        print_r (http_get_request_headers());
      im Ziel sie nicht auf.

      Ich bin jetzt auf apache_request_headers() gestoßen. Damit geht's.

      Frank