Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2012, 03:02   #1
galogen13
 
Регистрация: 24.02.2012
Сообщений: 9
Восклицание Отправка post-запроса С#

Доброго времени суток всем!

Пытаюсь отправить пост-запрос на сайт. По идее в ответ должно придти что-то осмысленное, но приходить какая-то ересь.

Вот информация о запросе:

POST http://www.agent.ru/ru/booking/?info=SESSION_EXPIRED HTTP/1.1
Host: www.agent.ru
Connection: keep-alive
Content-Length: 375
Cache-Control: max-age=0
Origin: http://www.agent.ru
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.162 Safari/535.19
Content-Type: application/x-www-form-urlencoded
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Referer: http://www.agent.ru/ru/booking/?info=SESSION_EXPIRED
Accept-Encoding: gzip,deflate,sdch
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.3
Cookie: atid=f6fb56a7-f2b7-4d6d-b5ce-9126ab32b8e8; mp_super_properties=%7B%22all%22%3A %20%7B%22%24initial_referrer%22%3A% 20%22http%3A//www.agent.ru/%22%2C%22%24initial_referring_domai n%22%3A%20%22www.agent.ru%22%7D%2C% 22events%22%3A%20%7B%7D%2C%22funnel s%22%3A%20%7B%7D%7D; borq=H4sIAAAAAAAAAOMS5bjKL8CosJxXg9 GKnaNhw8YXb9QcGAQYJRgUGDQYDBgiGaCgg rGBkQEAvFFmzC8AAAA; agent_ru_locale=ru; __utma=1.535833189.1330147827.13348 28831.1334967052.39; __utmc=1; __utmz=1.1330147827.1.1.utmcsr=(dir ect)|utmccn=(direct)|utmcmd=(none); JSESSIONID=6F8C74371EB4D6B8C9F28063 39E37957.ag1

А вот строка, которая уходит с запросом:

segments%5B0%5D.departurePointId=20 05&segments%5B0%5D.departurePointTy pe=CITY&segments%5B0%5D.arrivalPoin tId=1703&segments%5B0%5D.arrivalPoi ntType=CITY&segments%5B0%5D.departu reDate=21.04.2012&segments%5B0%5D.d epartureTime=ANY_TIME&adultsCount=1 &childrenCount=0&infantsWithoutSeat Count=0&infantsWithSeatCount=0&book ingClass=ECONOMIC&aircompanyId=&all ianceId=&showLowcost=true

Как видно, строка в непонятно какой кодировке. Вроде присутствуют символы "%5b" и т.д. Это вроде ASCII или UTF8, но также присутствуют символы "=", которые по идее при кодировке в UTF8 или ASCII тоже должны как-то меняться в форму "%...".

Подскажите, как организовать такую строку?
Может есть методы типа UrlEncode или что-то еще?

Пытался отправить вручную тупо скопированную строку, но результата не дало. Тоже возвращает ересь.

Вот код запроса C#:
Код:
System.Net.HttpWebRequest reqPOST = (HttpWebRequest)HttpWebRequest.Create(@"http://www.agent.ru/ru/booking/"); 
            reqPOST.Method = "POST"; 
            reqPOST.ContentType = "application/x-www-form-urlencoded";
            String AgentData = System.Web.HttpUtility.UrlEncode("segments[0].departurePointId=2015&segments[0].departurePointType=CITY&segments[0].arrivalPointId=1&segments[0].arrivalPointType=CITY&segments[0].departureDate=20.04.2012&adultsCount=1", Encoding.ASCII);
            
            byte[] sentData = Encoding.GetEncoding(1251).GetBytes(AgentData);
            reqPOST.ContentLength = sentData.Length;
            System.IO.Stream sendStream = reqPOST.GetRequestStream();
            sendStream.Write(sentData, 0, sentData.Length);
            sendStream.Close();
            System.Net.WebResponse result = reqPOST.GetResponse(); 
            System.IO.Stream stream1 = result.GetResponseStream();
            System.IO.StreamReader sr1 = new System.IO.StreamReader(stream1);
            string resultString = sr1.ReadToEnd();
galogen13 вне форума Ответить с цитированием
Старый 22.04.2012, 03:04   #2
galogen13
 
Регистрация: 24.02.2012
Сообщений: 9
По умолчанию

Может в коде с кодировками чего намудрил?
В общем, подскажите, уважаемые знатоки. Уже неделю с этим ресурсом мучаюсь...
galogen13 вне форума Ответить с цитированием
Старый 22.04.2012, 03:15   #3
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

%5b - [
%5D - ]
=master= вне форума Ответить с цитированием
Старый 22.04.2012, 03:20   #4
galogen13
 
Регистрация: 24.02.2012
Сообщений: 9
По умолчанию

Таааак, ну да.
Это я знаю. Но как бы я не пробовал отправлять - и "%5b", и "[" - результат тот же.
galogen13 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка post-запроса - неправильное получение кода Neeter Работа с сетью в Delphi 3 14.12.2011 10:39
Отправка POST запроса через Delphi 2010KOHTEP Общие вопросы Delphi 1 26.05.2011 00:02
Отправка запроса POST CreatiK Общие вопросы .NET 4 06.12.2010 21:15
Отправка POST Alex Cones Работа с сетью в Delphi 3 18.05.2010 11:07
Отправка POST запроса S@fer Работа с сетью в Delphi 0 29.01.2009 13:33