StackOverflowにはたくさんの質問と回答があり、まったく同じまたは非常によく似たエラーメッセージが表示されています。それらの90%。私はまだこれを解決することはできません。HTTPS over proxyは動作しません
以下はVisual Studioで提案されたWebClient
のコードです。しかし、私もHttpWebRequest/WebRequest
としましたが、それは時代遅れであるという警告にもかかわらず、試みました。変更なし、同じエラーが発生しました: "リクエストが中止されました:SSL/TLSセキュアチャンネルを作成できませんでした。"
ここにコードがあります。 makeProxy
は実際にはわずか3行で、新しいWebProxy
とそれに加えて資格があります。 (a)間違った資格情報を提供すると認証エラーが出る、(b)httpsページではなくhttpに行くと戻ってきてしまうインターネット上で。
protected string getToken() {
string url = ConfigurationManager.AppSettings["domo_api_url_auth"];
WebClient c = new WebClient();
c.Proxy = makeProxy();
c.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["domo_api_cid"], ConfigurationManager.AppSettings["domo_api_pwd"]);
c.Encoding = System.Text.Encoding.UTF8;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
// ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
// ServicePointManager.ServerCertificateValidationCallback += ValidateRemoteCertificate;
Stream responseStream = c.OpenRead(url);
return new StreamReader(responseStream).ReadToEnd();
}
私の問題は、メッセージがあまり役に立たないということです。私もそれをデバッグしようとしたが、助けにはならなかった。私は到達しようとしているWebサービスのサイト上の証明書を考え、その証明書をW3SVCに許可するプロセスを行った。助けてくれなかった。 google.comやstackoverflow.comや自分の会社のウェブサイトなど、すべてのhttpsサイトで同じエラーが発生します。しかし、httpだけのランダムなニュースサイトに行くと、すべて正常に動作します。
極端に疑わしいのは、最初にServerCertificateValidationCallback
行のコメントを外しても機能しないことです。また、2番目のコメントを外すと、コードが検証にリダイレクトされたと言われています。妥当性確認のようにも開始されません。
この問題のトラブルシューティング方法を教えてください。 Webリクエスト/レスポンスプロセスのどの時点で失敗するのか分かりません。
てみはServicePointManager.SecurityProtocolに(TLSを含む)すべてのフラグを追加します。プロキシを使用するようにWindowsをセットアップすると、ブラウザの作業でHTTPSが動作しますか? - 証明書を見て、正当なものがサイトに発行されたものか、プロキシサーバーによって挿入されたものかを確認します。トレースを有効にすると、詳細なログを取得できます。https://docs.microsoft.com/en-us/dotnet/framework/network-programming/how-to-configure-network-tracing –
はい、私は私のラップトップ上の同じプロキシ(ここでも私はこれで作業しています)とhttpsはどこでも、すべてのブラウザ、すべてのサイトで動作します。 –
ああ、私はこれを信じていない... @AlexK。これを回答として追加してください。私は解決策として受け入れます。 –