![]() |
Infos über Browser usw. in CGI auslesen
Hallo,
kann ich in einer Delphi-CGI aus dem ankommenden Request Informationen über den Browser und das Betriebssystem von dem die Anfrage ausgeht bekommen? Ich kann Informationen dazu in den Logs des IIS sehen (wenn ich mich auch noch nicht schlau gemacht habe, wie man sowas interpretiert). Beispiel:
Code:
Aber ich hätte so Infos, bzw. alles was ich so kriegen kann, gerne für mein eigenes Logging innerhalb der CGI. Hintergrund ist es so Problemen auf den Grund zu gehen ala:
/images/stripe.jpg - 304 Mozilla/5.0+(compatible;+MSIE+10.0;+Windows+NT+6.1;+WOW64;+Trident/6.0)
- Kunde hat gestern angerufen, kam nicht auf's Webportal. - Oder: Er ist immer rausgeflogen. - Oder: konnte keine PDFs hochladen. - Oder mein Favorit: Kunde bekommt immer so eine Fehlermeldung. |
AW: Infos über Browser usw. in CGI auslesen
Kannst Du die "UserAgent"-Variable auslesen?
|
AW: Infos über Browser usw. in CGI auslesen
Bei CGI kannst Du das nicht direkt. Du musst in IIS schauen, ob du den User Agent für diese CGI als Umgebungsvariable bereitstellen kannst
|
AW: Infos über Browser usw. in CGI auslesen
Im Log steht ja auch nur, was aus dem HTTP-Header ausgelesen wurde.
Und das CGI sollte als Input auch den kompletten HTTP-Header bekommen. UserAgent: Also ja, das sollte man da auslesen können. (falls er übertragen wurde) Und nein, was der Browser zurückgibt muß nicht immer stimmen, auch wenn da meistens die Browser-Engine, das OS und einige Addons mit erwähnt werden, aber im Zuge des anonymen Surfens verschleiern/verfälschen immer mehr Browser/Firewalls diese Angaben. Einige Webseiten lesen das über JavaScript, AJAX, Flash und wer weis über was sonst noch aus und übertragen es dann zum Webserver, bzw. hängen es an einen POST mit an. |
AW: Infos über Browser usw. in CGI auslesen
UserAgent ist das Stichwort, nachdem ich mal suchen werde, ob D6 mir da was bereitstellt. Oder ist das ein Header den ich so finden kann. Mal sehen.
Zitat:
|
AW: Infos über Browser usw. in CGI auslesen
z.B. für den Firefox gibt es Addons wie das "Live HTTP headers", welche dir anzeigen was alles im Hintergrund passiert.
Damit kann man auch schön die Funktion seines Programms prüfen. Beim Aufruf der DP-Startseite sendet das mein Browser an den Server (Header, Leerzeile, POST-Daten)
Code:
Und bekommt dann Folgendes als Antwort. (Header, Leerzeile und hier dann z.B. der HTML-Code)
GET /dp_portal.php HTTP/1.1
Host: www.delphipraxis.net User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: de,en-US;q=0.7,en;q=0.3 Accept-Encoding: gzip, deflate Referer: http://www.delphipraxis.net/180550-infos-ueber-browser-usw-cgi-auslesen.html Cookie: ***geheim*** Connection: keep-alive ***die Daten***
Code:
CGI bekommt der Request-Header+Daten als Input, zerlegt und verarbeitet Diese und gibt dann die Antwort als Response-Header+Daten über den Output raus.
HTTP/1.1 200 OK
Date: Wed, 28 May 2014 10:51:59 GMT Server: Apache Cache-Control: private Pragma: private Vary: Accept-Encoding Content-Encoding: gzip Content-Length: 8147 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/html; charset=ISO-8859-1 ***die Daten*** Im Prinzip ist ein normales CGI-Programm (FastCGI ausgeschlossen) wie ein Konsolenprogramm. (du, bzw. der HTTP-Server schreibt die ankommenden Daten in die Konsole und was das CGI-Programm ausspuckt, wird an den Browser gesendet) Rein kommen die Daten somit, aber in wie weit und wie dein CGI-Framework diese Daten nun (aufbereitet) bereitstellt, weiß ich jetzt nicht. Zitat:
|
AW: Infos über Browser usw. in CGI auslesen
Zitat:
![]() Der HTTP Request Header wird jedoch nicht vollständig an das CGI "Konsolenprogramm" sondern in Form von Umgebungsvariablen bereitgestellt - nicht alle Header-Zeilen sind damit garantiert im CGI Programm abrufbar. |
AW: Infos über Browser usw. in CGI auslesen
Liste der Anhänge anzeigen (Anzahl: 1)
Also zumindest die Codevervollständigung von D6 hat scheinbar schonmal was von UserAgent gehört.
Ich bau mir jetzt mal eine kleine Testanwendung um zu sehen, was den da so ankommt, sprich ob z.B. der IIS da wirklich was durchreicht usw. Danke auf jeden Fall mal wieder für das richtige Stichwort :thumb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz