У нас есть инструмент, который проверяет, является ли данный URL активным URL. Если данный URL-адрес активен, другая часть нашего программного обеспечения может отображать отходы от него.
Это мой код для проверки, активен ли URL-адрес
public static bool IsLiveUrl(string url)
{
HttpWebRequest webRequest = WebRequest.Create(url) as HttpWebRequest;
webRequest.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6) Gecko/20060728 Firefox/1.5";
webRequest.CookieContainer = new CookieContainer();
WebResponse webResponse;
try
{
webResponse = webRequest.GetResponse();
}
catch (WebException e)
{
return false;
}
catch (Exception ex)
{
return false;
}
return true;
}
Этот код работает отлично, но для конкретного сайта, размещенного на apache, я получение веб-исключения со следующим сообщением. " При дальнейшей проверке я обнаружил следующие детали в объекте WebException
Status = "ProtocolError" StatusDescription = "Bad Behavior"
Это заголовок запроса "User-Agent: Mozilla / 5.0 (Windows; U; Windows NT 5.1; en-US; rv: 1.8.0.6) Gecko / 20060728 Firefox / 1.5 Хост: scenicpares.co.uk Соединение: Keep-Alive "
Это заголовок ответа" Keep-Alive: timeout = 4, max = 512 Подключение: Keep-Alive Передача-кодирование: фрагментированное Тип содержимого: текст / html Дата: 13 января 2011 г., 10:29:36 GMT Очевидно, что это неприемлемо для выпуска релизов, поскольку исполняемый файл может немного увеличиваться в размере.
Я немного погуглил и нашел ссылки на то, что objcopy может выделять символы отладки в отдельный файл, но эта страница подразумевала, что я бы все равно необходимо, чтобы символы отладки были доступны вместе с исполняемым файлом выпуска, что снова явно неприемлемо.