Мне не удалось найти обходной путь для настройки UseUnsafeHeaderParsing. Я решил удалить реализацию класса HttpWebRequest и использовать вместо него TcpClient. Использование класса TcpClient будет игнорировать любые проблемы, которые могут существовать с заголовками HTTP - TcpClient даже не думает об этом.
В любом случае, используя TcpClient, я могу получать данные (включая заголовки HTTP) с проприетарного веб-сервера, о котором я упоминал в своем первоначальном посте.
Для справки, вот пример того, как получить данные с веб-сервера через TcpClient:
Приведенный ниже код по сути отправляет пакет заголовка HTTP на стороне клиента на веб-сервер.
static string GetUrl(string hostAddress, int hostPort, string pathAndQueryString)
{
string response = string.Empty;
//Get the stream that will be used to send/receive data
TcpClient socket = new TcpClient();
socket.Connect(hostAddress, hostPort);
NetworkStream ns = socket.GetStream();
//Write the HTTP Header info to the stream
StreamWriter sw = new StreamWriter(ns);
sw.WriteLine(string.Format("GET /{0} HTTP/1.1", pathAndQueryString));
sw.Flush();
//Save the data that lives in the stream (Ha! sounds like an activist!)
string packet = string.Empty;
StreamReader sr = new StreamReader(ns);
do
{
packet = sr.ReadLine();
response += packet;
}
while (packet != null);
socket.Close();
return (response);
}