C # Link Analyzer получает ошибки Bad Request?
-
22-07-2019 - |
Вопрос
У меня есть довольно простая программа, которая берет URL и выдает первое место, куда он перенаправляет. Во всяком случае, я тестировал его на некоторых ссылках и заметил, что получает 400 ошибок на некоторых URL. Я попытался протестировать такие URL-адреса, вставив их в свой браузер, и это сработало.
static string getLoc(string curLoc, out string StatusDescription, int timeoutmillseconds)
{
HttpWebRequest x = (HttpWebRequest)WebRequest.Create(curLoc);
x.UserAgent = "Opera/9.52 (Windows NT 6.0; U; en)";
x.Timeout = timeoutmillseconds;
x.AllowAutoRedirect = false;
HttpWebResponse y = null;
try
{
y = (HttpWebResponse)x.GetResponse(); //At this point it throws a 400 bad request exception.
Решение
Я думаю, что с куки происходит что-то странное. Оказывается, из-за того, как я тестировал ссылку, необходимые файлы cookie для ее работы были в моем браузере, а не в ссылке. Оказывается, некоторые из ссылок, которые я тестировал вручную (когда другие ссылки не работали), генерировали файлы cookie.
То, что произошло, немного запутано, но вкратце я сказал, что в моем браузере были cookie-файлы, а в программе - сохранение cookie-файлов между перенаправлениями не решило проблему.
Основная проблема вызвана тем фактом, что тестируемая ссылка требует либо дополнительного параметра, либо файла cookie, либо обоих. Я пытался избежать обоих в моих тестах, так как параметр / cookie был для отслеживания, и я не хотел прерывать отслеживание.
Короче говоря, я знаю, в чем проблема, но это не решаемая проблема.