Ошибка HttpWebRequest
От: Syffest Россия  
Дата: 04.03.05 11:15
Оценка:
Ситуация следующая. Когда работаю с сервером заказчика через VPN нижеуказанный код (естественно без всякого Proxy) работает прекрасно. А вот из локальной сети заказчика
без указания прокси возникает ошибка: "The remote server returned an error: (502) Bad Gateway."
Если указываю прокси из настроек интернет эксплорера, то возникает ошибка "The underlying connection was closed: An unexpected error occurred on a receive."

Если делаю обычную html страницу которая постит нужные данные и отрабатываю её из эксплорера с тачки в локальной сети заказчика, то нужные данные так же возвращаются без проблем. Использумый C# код приведен ниже. Никто не сталкивался с подобной проблемой? Или может подскажете пути решения? Уже всю голову сломал, что бы еще попробовать.


HttpWebRequest request = CreateRequest(new NetworkCredential("login", "password"), "http://нужный адресс:5555/handlebXMLPost");

byte[] bytes = Encoding.Default.GetBytes( 
    String.Format("serverName={0}&mode=0&xmlData={1}", 
        "E8D400", 
        "<aaa>некий xml запрос</aaa>"));

request.ContentLength = bytes.Length;

if(useProxy)
{
    WebProxy proxy = new WebProxy("адрес прокси", 8080);
    proxy.BypassProxyOnLocal = true;
    request.Proxy = proxy;
}

Stream stream = request.GetRequestStream();
stream.Write( bytes, 0, bytes.Length );
stream.Close();

HttpWebResponse response = (HttpWebResponse) request.GetResponse(); //На этой срочке и возникает ошибка.


private HttpWebRequest CreateRequest(ICredentials authInfo, string url)
{
    HttpWebRequest request = ( HttpWebRequest )WebRequest.Create(new Uri(url));
    request.Method = " POST";
    request.Credentials = authInfo;

    request.KeepAlive = false;
    return request;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.