Если вы разыгрываете WebResponse
, полученное вами на HttpWeResponse
, вы можете получить доступ к свойству StatusCode
- https://docs.microsoft.com/en-us/dotnet/api/system.net.httpwebresponse.statuscode?view=netframework-4.7.2#System_Net_HttpWebResponse_StatusCode;
Только одна вещь, которую нужно заметить - вы не можете заставить HttpWebRequest НЕ бросатьисключение, когда он получает код состояния, который не указывает на успех (тем более, причина не использовать этот метод).Это означает, что вы должны быть готовы перехватить исключение, которое будет выдано.
Так что в случае вашего примера это будет -
WebRequest SiteyeBaglantiTalebi06 = HttpWebRequest.Create("https://www.somesite.com/NotARealPath");
try
{
WebResponse GelenCevap06 = SiteyeBaglantiTalebi06.GetResponse();
// do things with the result
}
catch (WebException ex)
{
using (WebResponse response = ex.Response)
{
HttpWebResponse asHttp = (HttpWebResponse)response;
if (asHttp.StatusCode == System.Net.HttpStatusCode.NotFound)
{
// your 404 logic here
}
else
{
// your "something went wrong but it's not a 404" logic
}
}
}
Что касается упрощения кода -Трудно понять, что именно вы подразумеваете под этим, не понимая больше о вашей программе и о том, что вы пытаетесь сделать.В общем, вот несколько идей -