asp Post

Программирование на Active Server Pages и VBScript.
strelec
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 28.02.2009 (Сб) 22:04

asp Post

Сообщение strelec » 30.06.2012 (Сб) 1:23

доброй времени суток всем
начал изучат аспх научился достаточно нормально =) но столкнулся с проблемой((( прошу помощи
есть веб форма ,на веб форме есть кнопка отправит, оправка производится POST методом .вот код

Код: Выделить всё
   public string Post_Web(string url, string Data) {
            Byte[] BinData = (new ASCIIEncoding()).GetBytes(Data);
       
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            HttpWebResponse response;
            request.Method = WebRequestMethods.Http.Post;
            request.Proxy = proxy;
            request.Referer = LastUrl;
            request.AllowAutoRedirect = AutoRedirect;
          request.CookieContainer = CookieContainer;
            request.ContentType = @"application/x-www-form-urlencoded";
            request.Headers.Add(HttpRequestHeader.Cookie, CookiesString); //оправка куки
        // request.MaximumResponseHeadersLength = Int32.MaxValue;
            request.ContentLength = BinData.Length ;
            request.GetRequestStream().Write(BinData, 0, BinData.Length);
            response = (HttpWebResponse)request.GetResponse();
           
            redirect = response.ResponseUri.ToString();
            CookiesString = response.Headers.Get("Set-Cookie"); //чтение куки
            Result = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(response.CharacterSet)).ReadToEnd();
            return Result;
           
        }

дело в том что когда запускаю компилятором все работает отлично, пробовал установит на IIS сервере тоже все нормально работает , но когда устанавливаю на сайт то выдает ошибку
You must write ContentLength bytes to the request stream before calling [Begin]GetResponse.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 30.06.2012 (Сб) 11:20

strelec писал(а):You must write ContentLength bytes to the request stream before calling [Begin]GetResponse.

А слежующий запрос падает по таймауту? Проверь правильность url.

strelec
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 28.02.2009 (Сб) 22:04

Re:

Сообщение strelec » 30.06.2012 (Сб) 12:51

Qwertiy писал(а):
strelec писал(а):You must write ContentLength bytes to the request stream before calling [Begin]GetResponse.

А слежующий запрос падает по таймауту? Проверь правильность url.

Qwertiy Привет!!! =)
нет не по таймауту сразуже выходит это ошибка
просто удивительно то что если на свой иис сервере запускаю то все нормально работает
прогуглил и наткнулся на такой код

postedData - данные, отправляемые на сервер, postUrl - адрес, по которому мы обращаемся

Код: Выделить всё
public static HttpWebResponse PostMethod(string postedData, string postUrl)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(postUrl);
request.Method = "POST";
request.Credentials = CredentialCache.DefaultCredentials;

UTF8Encoding encoding = new UTF8Encoding();
var bytes = encoding.GetBytes(postedData);

request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = bytes.Length;

using (var newStream = request.GetRequestStream())
  {
   newStream.Write(bytes, 0, bytes.Length);
   newStream.Close();
  }
return (HttpWebResponse)request.GetResponse();
}

Метод возвращает ответ от сервера. Ответ можно прочитать используя следующую конструкцию:


Код: Выделить всё
var response = PostMethod(postedData, ApiUrl);
if (response != null)
{
  var strreader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
  var responseToString = strreader.ReadToEnd();
}


Дальше ответ в зависимости от типа возвращаемых данных сериализуется в объект.

все сделал тоже самое тоже работает на мой сервере )) и о5 на сайте ошибка но ошибка уже другой
The remote server returned an error: (413) Request Entity Too Large.
вот сайт где опубликую https://somee.com это бесплатный асп сайт

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 30.06.2012 (Сб) 16:11

strelec писал(а):нет не по таймауту сразуже выходит это ошибка

Ты немного не понял. После этого исключения, если послать ещё один запрос, то он падает по таймауту. Так? Такое бывает, если url WCF-сервиса неверный.
Либо ты действительно в теле передаёшь не то количество байт, которое указываешь в content-length.

strelec
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 28.02.2009 (Сб) 22:04

Re:

Сообщение strelec » 01.07.2012 (Вс) 1:06

Qwertiy писал(а):
strelec писал(а):нет не по таймауту сразуже выходит это ошибка

Ты немного не понял. После этого исключения, если послать ещё один запрос, то он падает по таймауту. Так? Такое бывает, если url WCF-сервиса неверный.
Либо ты действительно в теле передаёшь не то количество байт, которое указываешь в content-length.

ну если я тебя правильно понял то я сделал так))) тыкнул на кнопку вышла ошибка после на браузере сделал шаг назад и о5 тыкнул на кнопку он ушел на таймаут
и как мне изменит url WCF-сервиса ?

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 01.07.2012 (Вс) 10:09

А что ты вообще пытаешься сделать?

strelec
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 28.02.2009 (Сб) 22:04

Re:

Сообщение strelec » 01.07.2012 (Вс) 13:57

Qwertiy писал(а):А что ты вообще пытаешься сделать?

есть файловый обменник который при скачивание файла надо выбрать платный или бесплатный скачивание после выбора дает ждать 60 сек))) и.т.д ну я сделал так что 1 кнопка делает это все сам))) хохочу отметит что компилятором все работает )

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 01.07.2012 (Вс) 15:18

А при чём тут ASP.NET?

strelec
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 28.02.2009 (Сб) 22:04

Re: asp Post

Сообщение strelec » 02.07.2012 (Пн) 9:07

притом что делаю на asp net, и это все должно быть на сайте=)


Вернуться в ASP и VBScript

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

    TopList