Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Распределённые приложения и сеть > Загрузка web страницы (POST запрос)


Автор: GhosTer 8.12.2011, 14:16
Народ, делаю загрузку с страницы и обрабатываю её содержимое. Обычный текст.
Всё как бы нормально, но столкнулся с проблемой.
Никак не пойму как отправлять POST запрос.

вот таким образом получаю текст страницы:
Код

        public string getDateWeb(string url)
        {
            HttpWebRequest myHttpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
            HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
            StreamReader myStreamReader = new StreamReader(myHttpWebResponse.GetResponseStream(), Encoding.GetEncoding("utf-8"));
            return myStreamReader.ReadToEnd();
        }



Вот на это переделал:
Код

public string getDateWeb(string url)
        {
            HttpWebRequest myHttpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);

            myHttpWebRequest.Method = "POST";
            myHttpWebRequest.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";

            ASCIIEncoding encoding = new ASCIIEncoding();
            byte[] byte1 = encoding.GetBytes(@"publication-cart-anonymous-id=35ae3815-15b4-4806-8d8f-7141b047479c");

            myHttpWebRequest.ContentType = "application/x-www-form-urlencoded";
            myHttpWebRequest.ContentLength = byte1.Length;
            myHttpWebRequest.GetRequestStream().Write(byte1, 0, byte1.Length);
            myHttpWebRequest.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6 (.NET CLR 3.5.30729)";
            HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();

            StreamReader myStreamReader = new StreamReader(myHttpWebResponse.GetResponseStream(), Encoding.GetEncoding("utf-8"));
            return myStreamReader.ReadToEnd();
        }


И теперь получаю ошибку: "Удаленный сервер возвратил ошибку: (417) Expectation failed."
на строке:
Код

HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();



Подскажите как исправить....
Плииииииииииииииииииииииииииииз.

Автор: GhosTer 9.12.2011, 08:10
Ни кто не подскажет?

Автор: GhosTer 9.12.2011, 08:28
Спасибо всем за помощь.

Проблема решена добавлением в самом начале строки:
Код

 System.Net.ServicePointManager.Expect100Continue = false;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)