if (IsURLValid(url))
{
Uri requestUri = new Uri(url);
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(requestUri);
httpWebRequest.Proxy = WebRequest.GetSystemWebProxy();
httpWebRequest.Timeout = 3000;
httpWebRequest.Method = "HEAD";
//httpWebRequest.AllowAutoRedirect = true;
httpWebRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:64.0) Gecko/20100101 Firefox/64.0";
httpWebRequest.Accept = "*/*";
httpWebRequest.ServicePoint.Expect100Continue = false;
httpWebRequest.AllowAutoRedirect = true;
httpWebRequest.MaximumAutomaticRedirections = 4;
HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
httpWebResponse.Close();
MessageBox.Show(httpWebResponse.ResponseUri.ToString());
if ((httpWebResponse.StatusCode == HttpStatusCode.OK) || (httpWebResponse.StatusCode == HttpStatusCode.Redirect))
{
return true;
}
else
{
return false;
}
}
return false;
}
catch (WebException)
{
return false;
}
}
Приведенный выше код работает хорошо, но дает ложные результаты. Приведенный ниже URL действителен, однако полученный нами результат недействителен.
Я также пробовал проверять в Интернете, эти проверки также дают ту же ошибку.
https://httpstatus.io/
проверьте URL-адрес единства в httpstatus. У кого-нибудь есть идея, почему это так?