Autor Beitrag
jf_stgt
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 88



BeitragVerfasst: Do 24.08.06 10:20 
Hallo zusammen,

also ich habe ein altes Projekt mit Delphi 5 und der (beigefügten) TClientSocket Komponente. Das Programm baut vom Kundenrechner eine Verbindung zu einem zentralen Firmenserver (im Internet) auf. Der Server selbst ist nicht von mir.
Manche Kunden gehen allerdings über einen Proxy (z.B. AVM KEN) ins Netz.
Nun wird bei manchen Kunden der Wunsch laut dass mein Programm die Informationen zum Proxy aus dem InternetExporer ausliest und die Einstellungen verwendet.
Das Auslesen ist nicht(!) das Thema hier (habe ich bereits an anderer Stelle im Forum gelesen).
Mein Frage: Gibt es eine Möglichkeit die TClientSocket Komponenten weiter zu benutzen?
Sonst müsste ich das ganze Programm umstricken. Die Indy Kompos habe ich mir angeschaut aber da muss ich dann viel umbauen und das ist aufwändig.
Gibt es vielleicht irgendwie (über Zusatzkomponenten im Programm etc.) die Möglichkeit die Proxy-Server Ansteuerung in meinem Programm zu benutzen und TClientSocket weiter zu verwenden?
Vielleicht könnte man auch eine Kompo von TClientSocket ableiten und dort die Möglichkeiten implementieren? Aber ich habe keine Ahnung wie...
Danke für Eure Rückmeldungen!

Gruß
Jürgen
jf_stgt Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 88



BeitragVerfasst: Fr 25.08.06 16:20 
Hat keiner eine Idee oder habe ich mich vielleicht nicht so deutlich ausgedrückt?!
Gruß
Jürgen
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Fr 25.08.06 17:05 
Je nach dem, was der Proxy-Server zulässt, gibt's zwei Möglichkeiten:

1. Tunneln über HTTP:
ausblenden Quelltext
1:
CONNECT zielserver:port					
(Die Leerzeile ist wichtig)
Allerdings lassen dies nicht alle Proxyserver zu.

oder

2. Tunneln über Socks:
Hierzu müsstest Du aber direkt in die Spezifikation für SOCKS4\5 reinschauen, da dies etwas aufwändiger ist ...

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
jf_stgt Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 88



BeitragVerfasst: Fr 25.08.06 17:39 
user profile iconBenBE hat folgendes geschrieben:
Je nach dem, was der Proxy-Server zulässt, gibt's zwei Möglichkeiten:

1. Tunneln über HTTP:
ausblenden Quelltext
1:
CONNECT zielserver:port					
(Die Leerzeile ist wichtig)
Allerdings lassen dies nicht alle Proxyserver zu.
oder
...


Hallo!

Danke erstmal. Soweit ich weiß, lässt wohl der KEN Server so ein CONNECT Tunneling zu.
Wo muss ich das CONNECT zielserver:port denn hinsenden?
Ich versuche ja mittels TClientSocket eine Verbindung aufzubauen was ja schon nicht funktioniert?!
Oder muss ich eine Verbindung zum Proxy-Server aufbauen und nicht versuchen auf meinen Server zu kontaktieren?

Gruß
Jürgen
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Fr 25.08.06 21:15 
Den HTTP-CONNECT-Request sendest Du einfach auf den HTT-Proxy-Port des Servers. Dieser stellt dann die eigentliche Verbindung zum Zielhost her und Antwortet selber noch mit einer kleinen Ausgabe (die auch mit einer Leerzeile abgeschlossen ist). Alles was danach gesendet oder empfangen wird, wird nur zwischen Sender (deinem Programm) und dem Empfänger (dem Zielserver) übertragen.

Schau ggf. einfach noch einmal in RFC 2616 nach (Abschnitt 9.9, Seite 57).

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.