У меня есть следующий код для вызова, который, в свою очередь, возвращает xml:
private string Send(string url)
{
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
using (Stream stream = response.GetResponseStream())
{
using (StreamReader reader = new StreamReader(stream))
{
return reader.ReadToEnd();
}
}
}
}
catch (WebException ex)
{
var _status = ex.Status.ToString();
if (ex.Status == WebExceptionStatus.ProtocolError)
{
_status = ((HttpWebResponse)ex.Response).StatusCode.ToString();
}
Trace.WriteLine(_status.ToString());
}
return "error";
}
В большинстве случаев (не всегда) я получаю
System.Net.WebException: сервер совершил нарушение протокола.
Раздел = ResponseStatusLine в System.Net.HttpWebRequest.GetResponse ()
выброшено исключение.
Я добавил это в свой App.config прямо в разделе <configuration>
:
<system.net>
<settings>
<httpWebRequest useUnsafeHeaderParsing="true"/>
</settings>
</system.net>
Но я продолжаю получать ошибку.