Announcement

Collapse
No announcement yet.

Probleme mit der INDY-Komponente TidConnectThroughHTTP

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Probleme mit der INDY-Komponente TidConnectThroughHTTP

    Hi
    Ich habe ein großes Problem mit einer INDY-Komponente:
    -Entwicklungsumgebung: DELPHI7 mit INDY10

    Ich habe die Aufgabe, eine Applikation zu entwickeln, die in der Lage ist,
    sich über einen PROXY mit einem zentralen Server im Internet zu verbinden,
    um erfaßte Raumklimadaten dort abzuliefern.
    Als PROXies kommen in Frage:
    - SOCKS
    - ConnectThrougHTTP

    Ich habe versucht, das Problem mit hiolfe der INDY-Komponenten zu lösen.
    - Bei Socks gab es keine Probleme, alles Klappte fantastisch
    - Bei ConnectThroughHTTP geht alles, sofern man mit einer anonymen Anmeldung
    arbeitet
    Sobald man beim Proxy jedoch Benutzernamen und Passwort verwendet,
    lehnt jeder Proxy die Anmeldung mit der Bemerkung ab, daß Benutzername
    oder Passwort falsch sind.
    Ich habe mir eine separate estumgebung geschaffen (Free Proxy Controlcenter)

    Hier die relevanten Quelltextabschnitte:

    1) Konfiguration der TidConnectThroughHTT-Komponente:
    //Configure the Connect-Trough-HTTP-Component
    IdConnectThroughHttpProxy.Port:=StrToInt(TBxProxyP ort.Text);//<-PROXY-Port
    IdConnectThroughHttpProxy.Host:=TBxProxyIP.Text; //<-Adresse d. PROXies
    IdConnectThroughHttpProxy.Username:=TBxName.Text; //<-Benutzername
    IdConnectThroughHttpProxy.Password:=TBxPasswort.Te xt;//<-Passwort
    IdConnectThroughHttpProxy.IPVersion:=Id_IPv4;
    IdConnectThroughHttpProxy.Enabled:=false;


    2) Aktivierung der Variante "Conntect through HTTP" (im Gegensatz dur SOCKS-Variante)

    try
    if RBhttp.checked then begin
    IdConnectThroughHttpProxy.Enabled:=true;
    idhandler.TransparentProxy:=IdConnectThroughHttpPr oxy; //Assign the
    //Connetct-Trough-HTTP-Component to the Handler
    idhandler.TransparentProxy.Enabled:=true;
    //idhandler.Open();
    end;
    except
    on E:exception do begin
    beep;
    showMessage(e.message);
    end;
    end;


    3) Verbindungsaubau der eigentlichen IP-Verbindung durch den PROXY hindurch zum eigentlichen Zielserver

    idhandler.Host := TBxDmcIP.Text; //Eingabefeld für den Server
    idhandler.Port := StrToInt(daisyport.text); //2000; //IdSocks.Port;
    //
    IdTCPClient.Host:=TBxDMCIP.Text;
    IdTCPClient.IOHandler:=idhandler;
    IdTCPClient.Port := StrToInt(daisyport.text); // Port des Zielservers
    IdTCPClient.IPVersion:=Id_IPv4;
    IdTCPClient.Connect(); //Verbindungsaufbau

  • #2
    Crosspost

    http://entwickler-forum.de/showthread.php?t=65069
    Christian

    Comment

    Working...
    X