Laden...

Kann keine Verbindung mit Remoteserver über Proxy herstellen trotz richtiger Daten

Erstellt von Legecywolf vor 7 Jahren Letzter Beitrag vor 7 Jahren 3.010 Views
L
Legecywolf Themenstarter:in
7 Beiträge seit 2015
vor 7 Jahren
Kann keine Verbindung mit Remoteserver über Proxy herstellen trotz richtiger Daten

Hallo,

ich möchte ein Tool schreiben, mit der ich anonym eine bestimmte Seite speichern möchte mit Hilfe eines Proxys.

Ich habe da eine Liste mit möglichen Host und Ports, die ich einlese und dann prüfen möchte, ob sich meine IP tatsächlich ändert. Der Code sieht dabei wie folgt aus:


                string url = "http://" + "www.meine-aktuelle-ip.de/";
                Application.DoEvents();

                string[] line = sr.ReadLine().Split(';');
                string host = line[0];
                int port = int.Parse(line[1]);


                WebProxy webproxy = new WebProxy(host + ":" + port);
                webproxy.UseDefaultCredentials = false;
                webproxy.BypassProxyOnLocal = false;

                HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
                request.Proxy = webproxy;
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                StreamReader srPage = new StreamReader(response.GetResponseStream(), Encoding.UTF8);

                string html = srPage.ReadToEnd();
                srPage.Close();
                response.Close();

                string Zielpfad = host + "_" + port + ".html";
                StreamWriter sw = new StreamWriter(Zielpfad, false, Encoding.UTF8);
                sw.Write(html);
                sw.Close();

Das Problem dabei ist, dass ich immer wieder die Fehlermeldung > Fehlermeldung:

"Die Verbindung mit dem Remoteserver kann nicht hergestellt werden" erhalte, obwohl sie richtig sind (da ich diese zuvor den Browser-Einstellungen getestet habe)

Habt ihr evtl. noch eine Idee oder einen Vorschlag, wie ich meinen Code so aufbereiten kann?

MfG
~LW

1.029 Beiträge seit 2010
vor 7 Jahren

Hi,

hab mir das jetzt nicht genaue angeschaut, da deine Exception noch mehr Details beinhalten müsste - aber - Proxies brauchen in aller Regel Credentials, welche du hier nicht mitgibst.

Sicher, dass das ohne geht?

LG

L
Legecywolf Themenstarter:in
7 Beiträge seit 2015
vor 7 Jahren

Credentials habe ich in der Liste keine ( ich hole mir die Informationen von dieser Seite: http://www.netzwelt.de/proxy/index.html ). Somit sollte es ohne gehen. Was ich da sonst angeben sollte wüsste ich nicht

Hier meine Exception:

Fehlermeldung:
{"Ein Verbindungsversuch ist fehlgeschlagen, da die Gegenstelle nach einer bestimmten Zeitspanne nicht richtig reagiert hat, oder die hergestellte Verbindung war fehlerhaft, da der verbundene Host nicht reagiert hat 212.62.95.45:1080"}

"Die Verbindung mit dem Remoteserver kann nicht hergestellt werden."

" bei System.Net.HttpWebRequest.GetResponse()\r\n bei WIN_FORMS_Test.tools.testProxy.testProxy_Load(Object sender, EventArgs e) in C:\Users\[user]\TFS\Projects\WIN_FORMS_Test\WIN_FORMS_Test\tools\testProxy.cs:Zeile 50."

W
872 Beiträge seit 2005
vor 7 Jahren

Es gibt verschiedene Arten von Proxies - siehe zum Beispiel bei Wikipedia.
SOCKS5 kannst Du z.B. nicht direkt mit WebRequest ansprechen. Finde erstmal genau Deinen Proxy Typ raus und schaue nach, ob das tatsächlich unterstützt ist.

1.029 Beiträge seit 2010
vor 7 Jahren

Hi,

die IP die mit Timeout fehlschlägt ist gemäß der Liste ein SOCKS4-Proxy, was so wie weismat bereits schrieb nicht geht.

Du kannst aber z.B. auf folgender Seite mal schauen:
Use WebClient with socks proxy

LG

L
Legecywolf Themenstarter:in
7 Beiträge seit 2015
vor 7 Jahren

Ich hab meine Liste mal umgestellt, sodass die SOCKS 4 und 5 nicht mehr enthalten, aber leider bleibt die Meldung dabei gleich.

Den Link schaue ich mir mal an. Vielleicht hilft das ja etwas weiter

EDIT:
Also so richtig geholfen hat das leider nicht. Nach meiner Implementierung der möglichen Vorlage des verlinkten Dokuments springt er einfach aus der Funktion heraus und liefert mir kein Ergebnis und auch keine Exception