Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Proxy Programmieren (https://www.delphipraxis.net/82331-proxy-programmieren.html)

easteregg 11. Dez 2006 13:40


Proxy Programmieren
 
Hi,

da ich mit meinen notebook öfters in allen möglichen netzen hin und her wechsel, und nicht überall per hand meine ganzen programme anpassen möchte, würde ich mir gerne ein programm schreiben, welches mir einen zwischenproxy erstellt.

sprich ich trage in meinen browser als proxy zb 127.0.0.1:8080 ein und im proxyprogramm selbst dann mithilfe von profilen den richtigen proxy (zb 192.168.2.1:8080).

mein problem ist aber, das ich keine ahnung habe, wie ich diesen proxy schreiben muss / kann.
gibts da fertige komponenten?

danke schonmal,
gruß Richard

arbu man 11. Dez 2006 14:14

Re: Proxy Programmieren
 
Bei den Indys ist eine HTTP Proxy Komponente dabei :)

easteregg 11. Dez 2006 14:29

Re: Proxy Programmieren
 
wirklich?
da muss ich nochmal schauen, weil die hab ich nicht gefunden.
war das erste was ich geschaut hatte

aber danke für den hinweis :)

easteregg 11. Dez 2006 14:41

Re: Proxy Programmieren
 
Mist
der proxy funktioniert zwar, unterstützt aber keinen parent proxyserver :|
was mach ich nun?

hat da jemand mal ne idee oder noch besser, ne andere komponente?

easteregg 17. Feb 2007 00:59

Re: Proxy Programmieren
 
+push+

arbu man 24. Feb 2007 18:45

Re: Proxy Programmieren
 
Benutze den TIdHTTPServer als Proxy

mfg, Björn

easteregg 24. Feb 2007 20:59

Re: Proxy Programmieren
 
wie genau stellst du dir das vor? ich hab jetzt mal 5 minuten drüber nachgedacht, aber irgendie keine idee gehabt, wie ich das umsetzen soll!
wäre dankbar, wenn du mir da mal nen vorschlag gibts :)

arbu man 24. Feb 2007 21:13

Re: Proxy Programmieren
 
Em, HTTP-Server auf ne Form ziehen. Und das Event "HTTPServerCommandGet" benutzen: An die URL kommst du so herran:
Delphi-Quellcode:
URL := 'http://'+ARequestInfo.Host + ARequestInfo.Document;
Dann mit der Indy HTTP Komponenten den Inhalt der Ws auslesen:
Delphi-Quellcode:
HTTP.Get(URL);
Und so dann wieder an den Client übergeben:
Delphi-Quellcode:
  s := HTTP.Get(URL);
  AResponseInfo.RawHeaders.Text := HTTP.Response.RawHeaders.Text;
  AResponseInfo.WriteHeader;
  AResponseInfo.ResponseText := s;
  AResponseInfo.WriteContent;
Zwischen drin noch das Proxy zeug machen und fertig :)

arbu man 25. Feb 2007 10:58

Re: Proxy Programmieren
 
So hab es jetzt raus wie es richtig geht:

Delphi-Quellcode:

procedure TNXProxyWindow.HTTPServerCommandGet(AContext: TIdContext;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
var
  URL, s: string;
begin
  URL := 'http://'+ARequestInfo.Host+ARequestInfo.Document;
  try
    while HTTP.Tag=1 do Application.ProcessMessages;
    HTTP.Tag:=1;
    s := HTTP.Get(URL);
    AResponseInfo.ContentText := s;
    AResponseInfo.ContentType := HTTP.Response.ContentType;
    HTTP.Tag:=0;
  except
    // Handle Errors
  end;
  // Loging
  // ...
end;
mfg, Björn

DP-Maintenance 25. Feb 2007 10:58

DP-Maintenance
 
Dieses Thema wurde von "MrSpock" von "Sonstige Fragen zu Delphi" nach "Internet / LAN / ASP.NET" verschoben.
Läuft auf ein Internet / LAN Problem hinaus.

Torpedo 25. Feb 2007 11:18

Re: Proxy Programmieren
 
Wenn es nur für den Browser ist gehts auch einfacher. Jedenfalls für Firefox gibt es PlugIns, mit denen man schnell zwischen verschiedenen Proxys switchen kann.

easteregg 25. Feb 2007 16:06

Re: Proxy Programmieren
 
wenn es mir nur um den browser gehen würde, wäre das auch kein problem :)
aber ich hab ne vielzahl von anwendungen (updates für antivir, mehrere verschiedene browser (zwecks websitenbauen), programme wie trillian und co)
und daher ist das umschalten jeweils immer bisschen aufwendig!

ich werd mal versuchen ob ich das mit dem webserver da hinbekomme!

delphinia 9. Okt 2007 20:47

Re: Proxy Programmieren
 
habe das mit den obigen beispielen versucht.

Probleme sind rufe ich seiten auf die CSS (zum beispiel diese) haben udn diese CSS File sit nicht mit der gesamten URL geschrieben so wird diese nicht geladen udn ich erhalte nur müll :-(



Hmmm woran liegt das



Edit: Auch bilder werden nciht angeziegt und es dauert laaaaaange :-(

Dax 9. Okt 2007 20:59

Re: Proxy Programmieren
 
Zitat:

Zitat von easteregg
ich werd mal versuchen ob ich das mit dem webserver da hinbekomme!

Brauchst du garnicht. Alles was du brauchst ist ein IdTCPServer, der auf deinem Proxport horcht, und einen IdTCPClient, der das, was der Server bekommt, an den "echten" Server draußen weiterreicht.

Vielleicht wäre ja auch Jana was für dich...

delphinia 10. Okt 2007 21:25

Re: Proxy Programmieren
 
keiner eine lösung


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