このメソッドは、SSLを介して接続するときに無効な資格情報が与えられたときにスローされる可能性のある例外をキャッチしようとします。資格情報はSNMPを通じて提供されます。しかし、私はいつも無効な資格情報として例外を解釈できるわけではありません。私は、デバイスごとに異なる例外のメッセージを読み取ろうとしていることがわかります。C#でSSL接続を確立するときに無効な資格情報を確認するには
私は何を正しくしていますか?接続に必要な資格情報が有効かどうかを確認する完全な方法はありますか?デバイスからデバイスへと変化する例外メッセージが投げられると、私はここで完全に失われてしまいます。
ありがとうございます。
try
{
string ipSSL = string.Format(URL_CWIS_HELPSTRING, "s", SecurityBindingProxy.Destination.Address.Value.Host, "/");
System.Net.WebRequest https = System.Net.HttpWebRequest.Create(ipSSL);
System.Net.ServicePointManager.ServerCertificateValidationCallback = WsdlClient.ServiceRequirements.WsdlServiceRequirements.SSLCheckCallback;
https.Credentials = new System.Net.NetworkCredential(SNMP.ConnectionInfo.Instance.Username, SNMP.ConnectionInfo.Instance.Password); ;
System.Net.HttpWebResponse responseSSL = (System.Net.HttpWebResponse)https.GetResponse();
responseSSL.Close();
}
catch (Exception ex)
{
if (ex.Message.Contains("Unauthorized")
|| ex.Message.Contains("401"))
{
return -2;
}
}
メッセージは「未承認」が含まれている場合、なぜあなたの代わりにチェックの例外の型をキャッチされていませんか? –
@Ramhound:私はどの特定のタイプの例外を捕まえるべきかわからないからです。また、これらの例外には、http 401、時には404、適切な.net例外クラスというエラーメッセージが含まれています。これは私の正確な問題です。 –