Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   IdHttp und Firefox lesen URL-String unterschiedlich? (https://www.delphipraxis.net/159655-idhttp-und-firefox-lesen-url-string-unterschiedlich.html)

alleinherrscher 6. Apr 2011 21:48

IdHttp und Firefox lesen URL-String unterschiedlich?
 
Hi@all. Mir ist etwas aufgefallen, was ich bisher nur bei Google-Werbeanzeigen gesehen hab, was ich allerdings nicht verstehe:

Der Link, den ich mit IdHttp anfordere enthält verschiedene Zeichen, zum Beispiel:

URL:='[...]sa=l&ai=CH17ats6cTcsWhPLxA-TX5P4M4K6oPKjSmIsUuJSZkCcQBygIUNWr8ssGYJXqoIKwB6ABkvys_gPIAQGpAr nPlmGPEbg-qgQWT9Bg0hEpM-evXNF7pjGTpDStMc8Uag&num=10&sig=AGiWqtwUPz5eZWWJWmNdif1pz9eTLi3U7w&ved=0CBYQ0Qw&adurl=[...]'

Gebe ich die (komplette) URL bei IdHTTP ein, gibt es ein DNS error -> Seite nicht gefunden.

Der Firefox hingegen findet die Seite, wenn ich den URL String 1:1 in die Adresszeile kopiere.
Öffne ich die Webkonsole vom Firefox, steht dort direkt in der ersten Zeile, dass FF eine leicht modifizierte Seite anfordert, nämlich:

URL:='[...]sa=l&ai=CH17ats6cTcsWhPLxA-TX5P4M4K6oPKjS_Pz5eZWWJWmNdif1pz9eTLi3U7w&ved=0CBYQ0Qw&adurl=[...]'

(der oben rot gefärbte teil der adresse fehlt unten)

Ich glaube nicht, dass es sich hierbei um eine einfache Weiterleitung handelt, denn ich habe in IdHTTP die Weiterleitungen aktiviert, außerdem ist dies direkt die erste Adresse, die FF mit GET ansteuert.

Hat jemand ne Idee, woran dies liegen könnte?

shmia 7. Apr 2011 08:39

AW: IdHttp und Firefox lesen URL-String unterschiedlich?
 
Wahrscheinlich werkelt da Javascript im Hintergrund.
Google ist ganz wild auf Javascript und setzt es überall ein.

Thom 7. Apr 2011 08:39

AW: IdHttp und Firefox lesen URL-String unterschiedlich?
 
Die Indy's sind leider nicht ganz Bug-frei, wie ich schon aus leidvoller Erfahrung selbst feststellen mußte. :roll:

1. Frage:
Welche Version der Indy-Bibliothek benutzt Du?
2. Frage:
Hast Du mal eine konkrete und vollständige URL, damit man das Problem nachvollziehen kann?

@shmia:
Die URL wurde in die Adreßleiste des FF eingeben. Da kommt sicherlich kein JavaScript mehr zu Einsatz... :wink:

Eine URL besteht aus vielen Einzelteilen, die in einem sogenannten HTTP-Header übermittelt werden - also nicht einfach 1:1, wie in der Adreßleiste eingegeben. Dazu muß die URL geparst und entsprechend codiert werden, ansonsten versteht der Server nur Bahnhof.

alleinherrscher 7. Apr 2011 10:15

AW: IdHttp und Firefox lesen URL-String unterschiedlich?
 
Sry, hatte mich verlesen. Der Firefox 4 kürzt URLS wohl in der Webkonsole auf Bildschirmbreite. Daran lag es nicht. Das eigentliche Problem liegt daran, dass es wohl Webseiten gibt, die ihre php-Parameter hinter dem "?" angeben, und das Fragezeichen direkt und ohne Slash nach der Hauptdomain folgen kann:

Beispiel:

http://www.Das-Ist-Eine-Gute-Url.de/...parameter=test

www.Das-Ist-Eine-Boese-Url.de?parameter=test

Letzteres setzt der Firefox richtig um, indem er einen Slash einfügt:

www.Das-Ist-Eine-Boese-Url.de/?parameter=test

Und das muss ich nu meinem Programm noch beibringen.

Vielen Dank für eure Antworten!!!

Thom 7. Apr 2011 10:42

AW: IdHttp und Firefox lesen URL-String unterschiedlich?
 
Woher bekommst Du Deine URL für TIdHTTP?
Also mit anderen Worten: Stellst Du die selbst zusammen? Denn dann hättest Du ja die Möglichkeit, selbst auf den korrekten Syntax zu achten:
Delphi-Quellcode:
URL:='http://'+MeinServer+'/'+MeinDokument+'?'+MeinParameter+...;
//...
Eine Möglichkeit, URL's zu bearbeiten, ist das Indy-Objekt TIdURI aus der Unit IdURI. Damit kannst Du die URL in seine Einzelteile zerlegen und wieder zusammensetzen. Dort ein wenig zu Debuggen, könnte eventuell helfen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:08 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