Получение неправильных кодов состояния из запросов HTTP-клиентаC#

Место общения программистов C#
Ответить
Anonymous
 Получение неправильных кодов состояния из запросов HTTP-клиента

Сообщение Anonymous »

Я написал простое приложение Windows Forms, которое помогает мне проверять коды состояния HTTP. Однако у меня возникла проблема: я получаю фиктивные коды состояния из запроса HTTPClient. Код ниже:

Код: Выделить всё

private async void CheckStatusButton_Click(object sender, EventArgs e)
{
List urlsToCheck = URLs.Text.Split('\n').ToList();
List statusCodeResults = new List();

foreach (string item in urlsToCheck)
{
using (HttpClientHandler handler = new HttpClientHandler())
{
handler.AllowAutoRedirect = true;

using (HttpClient client = new HttpClient(handler))
{
client.DefaultRequestHeaders.CacheControl = new CacheControlHeaderValue
{
NoCache = true
};

try
{
using (HttpResponseMessage response = await client.GetAsync(item))
{

if (response.StatusCode.ToString() == string.Empty)
{
break;
}

if ((int)response.StatusCode == 200)
{

}

if ((int)response.StatusCode == 404)
{

}

if ((int)response.StatusCode == 301)
{

}

statusCodeResults.Add(((int)response.StatusCode).ToString());
}
}
catch (Exception ex)
{
statusCodeResults.Add("999" + item.ToString());
continue;
}
}
}

}

foreach (var item in statusCodeResults)
{
statusCodes.AppendText(item + Environment.NewLine);
}

MessageBox.Show("Done");
}
Проблема заключается в том, что я продолжаю получать неправильные коды состояния и переменные коды состояния с URL-адресов. Я запущу пакет URL-адресов, чтобы проверить и получить 200 статусов для URL-адресов, которые должны иметь ошибку 404, но когда я тестирую их как один URL-адрес, я получаю правильный код состояния. Если я запускаю одну и ту же партию URL-адресов 10 раз, это будет другой пул, каждый раз 404 против 200. Они все должны быть 404-ми каждый раз. Я использую пакет URL-адресов для сайта WordPress, и когда я использую такой инструмент, как https://httpstatus.io/, я правильно получаю список 404. У меня есть и другие случаи, когда я получаю неправильные коды состояния помимо этого, поэтому в целом я не доверяю результатам выполнения этих HTTP-запросов и ответов, но я не уверен, что я делаю неправильно, что могло бы дать мне эти результаты.

Подробнее здесь: https://stackoverflow.com/questions/791 ... t-requests
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»