C#-检查网络中的URI是否有效
我发现这段代码适用于类似于“”的uri,但不适用于类似于“”的uri。我真的不知道为什么。我有一个应用程序使用这个URI,它有一个我需要调用的API。我可以成功地执行一个api调用,我只是决定首先进行验证,如果基本uri存在并且有效 救命啊。谢谢 代码:C#-检查网络中的URI是否有效,c#,api,asp.net-core,C#,Api,Asp.net Core,我发现这段代码适用于类似于“”的uri,但不适用于类似于“”的uri。我真的不知道为什么。我有一个应用程序使用这个URI,它有一个我需要调用的API。我可以成功地执行一个api调用,我只是决定首先进行验证,如果基本uri存在并且有效 救命啊。谢谢 代码: 首先,您应该使用HttpClient而不是WebRequest,然后您要检查HTTP请求是否有效,但是您使用的是HTTPS URL 如果您想要一种同时检查HTTP和HTTPS URL的方法,您必须考虑如何管理HTTPS证书,因为存在以下例外情况
首先,您应该使用
HttpClient
而不是WebRequest
,然后您要检查HTTP请求是否有效,但是您使用的是HTTPS URL
如果您想要一种同时检查HTTP和HTTPS URL的方法,您必须考虑如何管理HTTPS证书,因为存在以下例外情况:
System.Net.WebException:无法建立SSL连接,请参阅内部异常。根据验证过程,远程证书无效。-->System.Net.Http.HttpRequestException:无法建立SSL连接,请参阅内部异常。-->System.Security.Authentication.AuthenticationException:根据验证过程,远程证书无效 也许您希望将该自定义证书添加为安全的,或者您希望删除检查SSL证书的安全策略(我不建议这样做),然后再添加其他证书
我希望这能对您有所帮助。对响应code.System.Net.WebException进行调试:无法建立SSL连接,请参阅内部异常。根据验证过程,远程证书无效。-->System.Net.Http.HttpRequestException:无法建立SSL连接,请参阅内部异常。-->System.Security.Authentication.AuthenticationException:根据验证过程,远程证书无效。您没有任何代码来接受证书。。。那就完美了sense@JosephReyes编辑您的问题并将详细信息放在那里,而不是放在注释中。@BugFinder我应该添加什么代码?
bool isHttpValid = false;
try
{
//Creating the HttpWebRequest
HttpWebRequest request = WebRequest.Create("https://172.16.85.186/Account/Login/") as HttpWebRequest;
//Setting the Request method HEAD, you can also use GET too.
request.Method = "HEAD";
//Getting the Web Response.
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
//Returns TRUE if the Status code == 200
response.Close();
isHttpValid = true;
}
catch
{
//Any exception will returns false.
isHttpValid = false;
}