C # - Проверьте, является ли действительный URI, который находится в сети - PullRequest
0 голосов
/ 22 мая 2019

Я нашел этот код из здесь он работает для URI как "https://google.com", но он не работает для чего-то вроде" https://172.61.58.168/Account/Login/". Я на самом деле не знаю почему,У меня есть приложение, использующее этот URI, который имеет API, который мне нужно вызвать.Я могу успешно выполнить API-вызов, и я просто решил сначала выполнить проверку, если базовый URI существует и действителен.

Помощь.Спасибо.

код:

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;
}

1 Ответ

0 голосов
/ 22 мая 2019

Прежде всего вы должны использовать HttpClient вместо WebRequest, затем вы проверяете, что запрос HTTP действителен, однако вы используете HTTPS URL .

Если вам нужен метод, который проверяет URL-адреса HTTP и HTTPS, вам нужно подумать, как вы собираетесь управлять сертификатами HTTPS, из-за этого исключения:

System.Net.WebException: SSL-соединение не может быть установлено, см. Внутреннее исключение. Удаленный сертификат недействителен в соответствии с процедурой проверки. ---> System.Net.Http.HttpRequestException: не удалось установить соединение SSL, см. Внутреннее исключение. ---> System.Security.Authentication.AuthenticationException: удаленный сертификат недействителен в соответствии с процедурой проверки.

Возможно, вы хотите добавить этот пользовательский сертификат как безопасный или хотите удалить политику безопасности, которая проверяет сертификаты SSL (я не рекомендую это), следуя этому другому вопросу .

Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...