Proxy Server?



  • Hallo,
    ich bin grad an einem Projekt und möchte in meinem Projekt ein Proxy Server einbauen, wie könnte ich das ambesten machen?
    Der soll auf Button1 Klick die IP Changen, wäre sehr nett, wenn mir da einer helfen könnte.

    Danke euch schonmal im Voraus.

    MfG



  • bruce85 schrieb:

    Hallo,
    ich bin grad an einem Projekt und möchte in meinem Projekt ein Proxy Server einbauen, wie könnte ich das ambesten machen?

    Was willst du den genau machen? Einfacher Proxy oder nur nen Portmapper?
    Für einen einfachen Proxy kannst du im zweifelsfall nen ClientSocket und ServerSocket benutzen.

    Der Clientsocket verbindet auf den eigenen Server und leitet die TCP Packets über den Serversocket an die Applikation deiner Wahl weiter.

    Der Serversocket ist lediglich dafür da, damit deine Prog connecten kann. Der Server leitet die Packets über den Client zum Zielserver weiter.

    Gleiches gilt für den Portmapper.

    Bei den Indys soll zumindest eine Komponente für ein Portmapper dabei sein der sich dafür nutzen lässt, wie das ding heisst weiss ich allerdings nicht - einfach mal bei den INDY Servern gucken.

    bruce85 schrieb:

    Hallo,
    Der soll auf Button1 Klick die IP Changen, wäre sehr nett, wenn mir da einer helfen könnte.

    Siehe oben. IP Binden geht - soweit ich weiss - mit den INDY TCP Server Komponenten.

    Bei nem normalen Client/ServerSocket muss man das scheinbar nicht machen, d.h. der Server reagiert (wenn man den Code nicht speziell anpasst) auf alle IPs. Und im Client kannst du ja für den RemoteHost eintragen was du willst - sofern die Gegenstelle natürlich existiert, ansonsten scheitert natürlich die Verbindung.



  • Danke für die antwort.

    Sry, ich habe meine Frage falsch formuliert.
    Ich möchte über die Indy(IdHTTP) den Quelltext einer Website auslesen, das ist kein problem für mich, aber ich möchte das ganze über nen Proxy machen, der über eine andere IP läuft.
    Wie z.B. im Internet Explorer:
    Screen

    Wie könnte ich das mit der Indy Komponente lösen?

    MfG



  • Dann stell die IP sowie den Port von dem Proxy in der Indy HTTPClient ein?



  • Dann sag mir bitte mal, wie ich das machen soll?

    Ein beispiel Code wäre nicht schlecht.

    Danke schonmal.



  • Dafür brauchst Du keinen Code. Schau mal in die Hilfe nach TIdHTTP::Request!



  • Danke für den Tip.

    Ich hab das mal so versucht:

    char params[64];
      TMemoryStream *InStream=new TMemoryStream();
      TMemoryStream *OutStream=new TMemoryStream();
    
      strcpy(params, "test=****");
    
      OutStream->Write(params, strlen(params));
    
      try
      {
        IdHTTP1->Request->ProxyServer = "132.187.230.1";
        IdHTTP1->Request->ProxyPort = 3124;
        IdHTTP1->Post("http://testseite.de/index.php", OutStream, InStream);
      } catch(...) {
    
      }
    
      InStream->Position=0;
      Memo1->Lines->LoadFromStream(InStream);
    
      delete OutStream;
      delete InStream;
    

    Sobald ich das ausführe, bekomme ich vom Debugger diese fehlermeldung:
    405 Method Not Allowed.

    Wenn ich auf OK klicke, dann bekomme ich das hier vom Server zurück:
    You are trying to use a node of the CoDeeN CDN Network. Your IP address is not recognized as a valid PlanetLab address, so your access to CoDeeN does not include all HTTP types

    Woran liegt das?

    Danke schonmal.

    MfG



  • bruce85 schrieb:

    Sobald ich das ausführe, bekomme ich vom Debugger diese fehlermeldung:
    405 Method Not Allowed.

    Wenn ich auf OK klicke, dann bekomme ich das hier vom Server zurück:
    You are trying to use a node of the CoDeeN CDN Network. Your IP address is not recognized as a valid PlanetLab address, so your access to CoDeeN does not include all HTTP types

    Woran liegt das?

    Das liegt daran, daß Planetlab/CoDeeN proxies keine POST-requests akzeptieren.

    http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html


Log in to reply