Wie verwenden von HTTP-GET-request in C# mit SSL? (protocol violation)
Ich bin derzeit versucht, eine Antwort zu bekommen, von einem server, der SSL verwendet, in C#. Ich habe den code dazu in Java, aber es sieht aus wie Sie nicht übersetzen 1:1.
Ich zu tun haben einige code, den ich gefunden, die funktioniert für reguläre Seiten, aber nicht für das, was ich brauche (vielleicht, weil der SSL-Sache). Hier ist der code:
WebRequest request = WebRequest.Create("https://" + sslServerHost + ":" + sslServerPort);
request.Proxy = null;
request.Credentials = CredentialCache.DefaultCredentials;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd();
UPDATE: Sorry, scheine ich vergessen zu haben, was der Fehler ist. Ich bin immer ein Protokoll Zugriffsverletzung Ausnahme bei der "HttpWebResponse response = (HttpWebResponse)request.GetResponse (); " - Zeile.
Irgendwelche Ideen? Danke Jungs.
- Amber: Können Sie beschreiben, was falsch läuft? Ist es nur nicht die Rückgabe? Sind Sie immer irgendeine Art von Ausnahme? Wenn ja, welche Art von Ausnahme, und was ist die Botschaft?
- Könnte möglicherweise ein nicht vertrauenswürdiges Zertifikat-Problem?
Du musst angemeldet sein, um einen Kommentar abzugeben.
HTTP Gespräche über SSL verwenden Sie ein ordnungsgemäß ausgestelltes Zertifikat für die Validierung.
Könnten Sie die RemoteCertificateValidationCallback Delegierten für die überprüfung der SSL-Zertifikat wie folgt:
Nur eine Idee, aber Sie haben versucht, es mit einem abschließenden "/"? Auch Sie können von diesem Ansatz einfacher:
Hier ist etwas test-code, den ich verwendet haben, erfolgreich für die Prüfung von SSL-verbindungen...