AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Infos über Browser usw. in CGI auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

Infos über Browser usw. in CGI auslesen

Ein Thema von Jumpy · begonnen am 28. Mai 2014 · letzter Beitrag vom 28. Mai 2014
Antwort Antwort
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.737 Beiträge
 
Delphi 6 Enterprise
 
#1

Infos über Browser usw. in CGI auslesen

  Alt 28. Mai 2014, 11:43
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:
/images/stripe.jpg - 304 Mozilla/5.0+(compatible;+MSIE+10.0;+Windows+NT+6.1;+WOW64;+Trident/6.0)
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:

- 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.
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.626 Beiträge
 
Delphi 12 Athens
 
#2

AW: Infos über Browser usw. in CGI auslesen

  Alt 28. Mai 2014, 11:48
Kannst Du die "UserAgent"-Variable auslesen?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Infos über Browser usw. in CGI auslesen

  Alt 28. Mai 2014, 12:08
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
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

AW: Infos über Browser usw. in CGI auslesen

  Alt 28. Mai 2014, 12:11
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.
$2B or not $2B

Geändert von himitsu (28. Mai 2014 um 12:15 Uhr)
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.737 Beiträge
 
Delphi 6 Enterprise
 
#5

AW: Infos über Browser usw. in CGI auslesen

  Alt 28. Mai 2014, 12:25
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.


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.
Das klingt auf jeden Fall nach einer guten Idee für einen Plan B.
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

AW: Infos über Browser usw. in CGI auslesen

  Alt 28. Mai 2014, 13:02
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:
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***
Und bekommt dann Folgendes als Antwort. (Header, Leerzeile und hier dann z.B. der HTML-Code)
Code:
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***
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.
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:
wenn ich mich auch noch nicht schlau gemacht habe, wie man sowas interpretiert
Es gibt dafür LogViewer, welche die Daten aufbereiten. Eventuell/Vermutlich gibt es auch Komponenten für Delphi, welche das ebenfalls machen.
$2B or not $2B

Geändert von himitsu (28. Mai 2014 um 13:14 Uhr)
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#7

AW: Infos über Browser usw. in CGI auslesen

  Alt 28. Mai 2014, 13:22
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)
Bei Selfhtml http://de.selfhtml.org/servercgi/cgi...svariablen.htm kann man es gut nachlesen.

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.
Michael Justin
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.737 Beiträge
 
Delphi 6 Enterprise
 
#8

AW: Infos über Browser usw. in CGI auslesen

  Alt 28. Mai 2014, 13:55
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
Miniaturansicht angehängter Grafiken
screeny.png  
Ralph
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz