Christian Seiler: Windoof-Network and VC++

Beitrag lesen

Hallo,

Dein "Internet" funktioniert somit nur für HTTP und eventuell auch HTTPS (wenn der Proxy das auch beherrscht). Außerdem eventuell noch für weitere vom Proxy unterstützte Protokolle, aber keinesfalls grundsätzlich für alles. Unter anderem eben nicht für dein Socket-Protokoll

Gibt es Alternativen?

Keine direkte Alternative, sondern die exakte Nutzung des Proxies selbst. Damit HTTPS mit Proxies funktioniert und der Browser trotzdem noch Zertifikate verifizieren kann, gibt es eine spezielle Proxy-Methode namens CONNECT, die es ermöglicht, eine direkte Verbindung zum Server aufzubauen. Sprich:

1. Client verbindet sich mit Proxy.
2. Client sendet CONNECT host:port HTTP/1.0 + Leerzeile
3. Server antwortet "200 Connection Established" + evtl. Header + Leerzeile
4. Über die Verbindung Client <-> Proxy kann Client jetzt so tun, als ob er direkt mit dem Server, der unter host:port zu erreichen ist, verbunden wäre, der Proxy leitet alle Daten 1:1 weiter.

Nachdem Proxies häufig für sowas "missbraucht" (je nach Sichtweise ist das legitim oder eben nicht) wurden erlauben viele Proxies das meistens nur noch für Port 443 (HTTPS) - allerdings kann man das in der Regel konfigurieren.

Auf Anhieb habe ich für VC++ folgendes gefunden: http://www.codeproject.com/internet/akashhttpproxy.asp Vielleicht hilft's Dir ja.

Damit könntest Du vermutlich Dein Problem lösen.

Viele Grüße,
Christian