Http-header "Date" mit PHP auslesen

Hallo zusammen

Bei einem HTTP-Request wird ja teilweise ein Date-Header angegeben. Dieser enthält also die Zeit des Clients, um die das Request abgesendet wurde.
Ich suche nun eine Möglichkeit, mit PHP den Wert dieses Headers auszulesen.

Weiss da wer eine möglichkeit?

Freundliche Grüsse
cedl

http://de.php.net/manual/de/function.get-headers.php ?

:unamused:
Ich meine nicht die Response-Headers, die vom Server als antwort gesendet werden, sondern die (hmm, incoming?) Headers, die der Server bekommt, wenn er eine Anfrage bekommt.

Also wenn der Client (zb. Browser) sendet:

GET /infotext.html HTTP/1.1 Host: www.example.net (...) Date: Thu, 2 Mar 2010 10:10:32 GMT
Dann möchte ich “Thu, 2 Mar 2010 10:10:32 GMT” auslesen, um so herauszufinden, wann der Request (nach Client Zeit) gesendet wurde.

Trotzdem danke :wink:

Grüsse
cedl

Der Client sendet keinen Date Header.

um aber trotzdem deine Frage zu beantworten strtotime() ist die PHP Funktion die du suchst. Die wandelt so einen Datumsstring (rfc2822 in diesem Fall) in einen unix-timestamp um.

Tipp: dieses Firefox Addon ist da ganz nützlich: addons.mozilla.org/de/firefox/addon/3829

Welchen Sinn hatt das bzw. was willst du dadurch bezwecken??

[quote]Der Client sendet keinen Date Header.[/quote]Ich lass einen senden, da der Client in diesem Falle auch ein Server ist, der von mir kontrolliert wird :wink:

[quote]um aber trotzdem deine Frage zu beantworten strtotime() ist die PHP Funktion die du suchst. [/quote]Nein, das ist sie nicht ^^
Wie ich das Format umwandeln kann ist mir bekannt, ich will den Header, auslesen, so dass ich danach damit arbeiten kann :wink:

[quote]Welchen Sinn hatt das bzw. was willst du dadurch bezwecken??[/quote]Wenn man die Zeit austauscht kann man sehr viel damit bezwecken, zb. die zeitabweichung berechnen (frag mich nicht für was xD), aber ich denke ich würde es für eine zeitbasierte verschlüsselung benützen, was natürlich nur dann funktioniert, wenn beide Server über die selbe Zeit verfügen…

Also, kann man jetzt den Date header auslesen? Oder geht das nicht, weil er nicht zum standard für request gehört? :unamused:

Grüsse
cedl

[quote=“bcg”][quote]um aber trotzdem deine Frage zu beantworten strtotime() ist die PHP Funktion die du suchst. [/quote]Nein, das ist sie nicht ^^
Wie ich das Format umwandeln kann ist mir bekannt, ich will den Header, auslesen, so dass ich danach damit arbeiten kann :wink:[/quote]
achso, ich dachte das wäre bekannt.
Das wäre dann wohl über die Globale $_SERVER zu erreichen.
Wahrscheinlich steht es dann in $SERVER[‘HTTP_DATE’] da alle HTTP-Header im Format "HTTP" + Header-name in Großbuchstaben dem Script übergeben werden. (z.B. $_SERVER[‘HTTP_USER_AGENT’])

Aha :slight_smile:

Ich habe eben auf php.net auf der betreffenden Seite ($_SERVER) nachgeschaut und habe nix dergleichen gefunden. Aber ich werds ja mal ausprobieren können^^

Danke schön

Grüsse
cedl

EDIT: Ja, es funktioniert, danke vielmals

wenn du einen server überprüfen willst und zugriff über ihn hast(also php scripte),solltest du mal die CURL funktion ankucken.

Ich verstehe trotzdem den sinn von allem nicht^^

[quote=“asshare”]wenn du einen server überprüfen[/quote]Ne, darum gehts nicht :wink:

Ich beschreibs mal so:
Server 1 verschlüsselt eine Datei (es ist nicht eine riesige Datei (ich mein wegen der Serverauslastung)) und übermittelt sie dann an Server 2.
Nun weil diese Verschlüsselung von der Zeit abhängig ist, benötigt Server 2 die selbe Zeit wie Server 1, damit er diese Datei wieder entschlüsseln kann.
Natürlich - ich könnte die Zeit einfach bei beiden Servern gleich stellen, aber das ist seehr heikel :wink:

Grüsse
cedl