Entwickler-Ecke

Internet / Netzwerk - Link öffnen mit Proxy


Dude566 - Fr 03.04.09 18:05
Titel: Link öffnen mit Proxy
Also ich möchte einen Link öffnen, aber die Verbindung soll über einen Proxy gehen.

Ich hatte das mit dem Link öffnen ja mal so gemacht:

Delphi-Quelltext
1:
ShellExecute(handle, 'open', pchar('http://beispiel.de'), ''''0);                    


Wie kann ich das aber machen das mein Programm über eine Proxy Verbindung geht, die der Benutzer vorher eingibt? Und kann der Link auch aufgerufen werden, ohne jedes mal den Browser wieder neu zu öffnen, das wäre zu viel CPU Last.
Also im Hintergrund.

Gruß Dude566


Xentar - Sa 04.04.09 00:32

Du möchtest also einen Link mit dem normalen Browser öffnen, allerdings über einen Proxy? Äh.. wozu? Ist doch dem User überlassen, was er verwendet.
Und was soll deiner Meinung nach geschehen, wenn der User bereits einen Proxy benötigt, um überhaupt ins Internet zu kommen?


jaenicke - Sa 04.04.09 01:08

Das kannst du einem Browser kaum vorschreiben ohne dessen Konfiguration zu verändern. Und wenn ein Programm das tut, dann wäre das aus meiner Sicht als Benutzer eine Frechheit.

Was du machen könntest wäre z.B. den TEmbeddedWB zu benutzen, der ist auch in dieser Hinsicht besser als der TWebBrowser, er bietet nämlich eine Option für die Angabe des Proxies.

Und dann könntest du es auch wie hier gerade von mir beschrieben machen:
http://www.delphipraxis.net/post1021775.html#1021775
InternetSetOption bekommt als ersten Wert ein Handle, wenn dieses nicht 0 ist, dann wird die Einstellung (hier des Proxies) auf die in dem Handle angegebene Verbindung angewendet.


Dude566 - Sa 04.04.09 12:06

Also TWebBrowser ginge auch oder? Damit habe ich wenigstens schonmal gearbeitet.

Aber ich werde mir mal deinen Link anschauen, bei weiteren Fragen melde ich mich. ;)


jaenicke - Sa 04.04.09 16:56

user profile iconDude566 hat folgendes geschrieben Zum zitierten Posting springen:
Also TWebBrowser ginge auch oder?
Der hat direkt keine Möglichkeit dazu AFAIK, ich weiß nicht, ob der sich mit den verlinkten Funktionen kombinieren lässt. :nixweiss:

TEmbeddedWB ist ähnlich, aber eben mit viel mehr Funktionen.


Jakob_Ullmann - Sa 04.04.09 17:59

Warum nicht über eine der vielen Proxy-Websites, die die URL als Get-Parameter erwarten?


Dude566 - So 05.04.09 12:13

Du meinst z.B. wie http://webproxy.ch.

Wie würde dann so ein Codeschnipsel aussehen mit der Parameterübergabe?


Jakob_Ullmann - So 05.04.09 12:16

Also webproxy.ch kenne ich nicht, und ich weiß nicht, wie der das mit den Parametern regelt. Falls das ein Get-Parameter ist (also in der URL sichtbar, z. B. http://www.delphi-forum.de/posting.php?mode=reply&t=91441), kannst du das aber auch entsprechend schreiben.


Dude566 - So 05.04.09 12:23

Also er gibt sowas in der Adresse zurück:
http://webproxy.ch/index.php?wa=aHR0cDovL3d3dy5nb29nbG*****

Wie schreibe ich das dann in meinem Programm?


Jakob_Ullmann - So 05.04.09 12:26

Naja, das wird dann natürlich schwierig. Wahrscheinlich werden die meisten Proxies das irgendwie verschlüsseln, aber ich meine, auch schon einen gesehen zu haben, der es nicht so macht (obwohl das natürlich nicht unbedingt sinnvoll ist).

PS: Wozu willst du überhaupt einen Link mit einem Proxy öffnen??


Dude566 - So 05.04.09 12:33

Zur Anonymität des Benutzers, auch wenn man durch solche Proxys ja nicht wirklich anonym bleibt.


Jakob_Ullmann - So 05.04.09 13:13

Dann kann das der Benutzer doch selbst regeln, oder?


Xentar - So 05.04.09 16:27

Womit wir wieder bei meiner ersten Frage wären ;)

Und natürlich gibt es komplett anonyme Proxies.


Martok - So 05.04.09 18:24

Die URLs sind bei solchen Dingern meistens Base64-Codiert... hier auch.