Hallo Markus,
Wie müsste denn das Script aussehen, damit auch Get und Post funktioniert?
kann ich dir hier nur schematisch erläutern:
* Request-Methode ermitteln: $_SERVER['REQUEST_METHOD']
* Zielpfad ermitteln: $_SERVER['PATH_INFO']
* Plausibilitätskontrolle
* Mit fsockopen eine HTTP-Verbindung zum internen Gerät herstellen
* HTTP-Request absetzen (Methode wurde oben ermittelt)
* bei POST den Datenblock hinterherschicken
* Antwort vom Gerät an anfragenden Client zurücksenden, bis feof()
* Socket-Verbindung zum Gerät schließen
Das ist jetzt erstmal "nur so aus dem Handgelenk". Einzelne Punkte erfordern sicher noch etwas Detailarbeit, z.B. das direkte Weiterreichen der POST-Daten, da der Zugriff auf die vom Client empfangenen Rohdaten anscheinend nicht zuverlässig möglich ist (ich habe auf die Schnelle einige Foren- und Newsbeiträge gefunden, die vermuten lassen, dass das nicht immer funktioniert).
Ich weiß im Moment auch nicht, ob ich mit PHP auf sämtliche HTTP-Header (auch nicht-standardisierte X-Header) des Requests zugreifen kann. Das würde ich aber gern, damit ich diese Header auch an das adressierte interne Gerät weitergeben kann.
Schließlich ist noch die Frage, ob man die Response-Daten vom Gerät parsen und ggf. Pfadangaben so transformieren möchte, dass sie dem "externen" Adressierungsschema entsprechen - beispielsweise also http://device/foo.xy in http://example.net/redirect.php/device/foo.xy umsetzen.
Du siehst, das ist nicht trivial. Hat aber auch niemand behauptet. ;-)
Gutes neues Jahr noch,
Martin
Husten kann böse Folgen haben.
Besonders im Kleiderschrank.