Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Indy: Einloggen und HTML-Code auslesen geht nicht mehr (https://www.delphipraxis.net/178482-indy-einloggen-und-html-code-auslesen-geht-nicht-mehr.html)

BlueStarHH 10. Jan 2014 10:20

Indy: Einloggen und HTML-Code auslesen geht nicht mehr
 
Hallo,

schon seit vielen Jahren logge ich micht mit dem folgenden Code beim meinem Webhoster Hosteurope ein und lade dann den HTML-Code der folgenden Webseite herunter (um dort die Log-Dateien automatisch herunterzuladen). Plötzlich funktioniert das nicht mehr. Es erscheint die Fehlermeldung: "Socket Error # 10060. Connection timed out."

Mache ich es manuell (ohne Delphi) über Firefox, klappt es. Die Seite ist also nicht defekt. Am Code habe ich auch nichts geändert. Ich bin zum Jahreswechsel nur von Win7 auf Win8 umgestiegen und habe alles neu installiert. Daran sollte es aber nicht liegen. Kann auch sein, dass die bei Hosteurope zum Jahreswechsel da was geändert haben. Nur wie stellen die fest, dass ich mit Indy auf die Seite gehe. Durch den UserAgent siehts ja so aus als ob ich Firefox nutze. Hat jemand eine Idee was das sein könnte? Danke!

Ihr könnt euch mal den HTML-Code der verlinkten Seite angucken. Da sind keine speziellen Sachen zu finden. Nur ein normales HTML-Formular, deren Werte ich mit Indy "ausfülle".


Delphi-Quellcode:
var
  html, URL: string;
  data: TIdMultiPartFormDataStream;

begin

    data := TIdMultiPartFormDataStream.Create;
    try
      IdHTTP1.HandleRedirects := True;
      IdHTTP1.Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)';

      data.AddFormField('kdnummer', 'MeineKundennummerHier');
      data.AddFormField('passwd', 'MeinPasswortHier');

      URL :='http://kis.hosteurope.de/administration/webhosting/admin.php?menu=13&mode=zipoldlogs&wp_id=MEINE-ID-BEI-HE';
      html := IdHTTP1.Post(URL, data);
    finally
      data.Free;
    end;

end;

Dalai 10. Jan 2014 12:56

AW: Indy: Einloggen und HTML-Code auslesen geht nicht mehr
 
Zitat:

Zitat von BlueStarHH (Beitrag 1243000)
Durch den UserAgent siehts ja so aus als ob ich Firefox nutze.

Falsch gedacht. Nur weil da "Mozilla/4.0" davor steht, heißt das nicht, dass das auch Mozilla ist, schon gar nicht Firefox. Kannst du selbst testen, indem du mit dem IE mal diese Seite besuchst (oder eine andere, die den User Agent ausgibt). Fakt ist, dass du mit diesem User Agent einen IE6 unter WinXP (32 Bit) angibst, und der ist völlig zu Recht inzwischen von sehr vielen Seiten nicht mehr unterstützt.

MfG Dalai

BlueStarHH 10. Jan 2014 13:15

AW: Indy: Einloggen und HTML-Code auslesen geht nicht mehr
 
@Dalai

Ich bin mit dem aktuellen Firefox auf http://whatsmyuseragent.com/ gegangen und habe den UserAgent

Mozilla/5.0 (Windows NT 6.3; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0

von dort in meinen Code kopiert. Auch damit klappt es nicht. Es ist ja überhaupt fraglich, ob es am UserAgent liegt. Das war nur eine Vermutung von mir.

ele 10. Jan 2014 15:05

AW: Indy: Einloggen und HTML-Code auslesen geht nicht mehr
 
"Socket Error # 10060. Connection timed out." bedeuted, dass die TCP/IP-Verbindung nicht geklappt hat.

Die Indy-Komponente kommt gar nicht dazu den Request abzusetzen und auch die Übermittlung des User-Agents kommt erst später.

Ich vermute ein Problem mit Proxy, Routing oder Firewall.

Du könntest versuchen eine Netzwerk-Analyse mit Wireshark machen und nachsehen worin sich dein request mit Indy von dem mit Firefox unterscheidet.


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