Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Проблема с POST запросом. Помогите разобраться!


Автор: andrush 13.2.2010, 17:55
Передаю в POST Запросе текст 

string postData = "text=Пейзаж-%D0%9F%D0%B5%D0%B9%D0%B7%D0%B0%D0%B6";

В итоге получаю на стороне сервера 

Пейзаж-Пейзаж

Почему сервер %D0%9F%D0%B5%D0%B9%D0%B7%D0%B0%D0%B6 строку преобразовывает в текст? Как с этим бороться, чтобы осталась исходная строка?

Автор: andrush 13.2.2010, 19:23
Уже разобрался 

Нужно было использовать простенький код, тогда все работает правильно
string result_page_tmp = "http://gorny-krym.com/foto/photo/%D0%90%D0%B9-%D0%9F%D0%B5%D1%82%D1%80%D0%B8";

            Uri url = new Uri("http://xmlsearch.yandex.ru/xmlsearch");
            WebClient client = new WebClient();
            // Create a new NameValueCollection instance to hold some custom parameters to be posted to the URL.
            //NameValueCollection myNameValueCollection = new NameValueCollection();
            NameValueCollection collection = new NameValueCollection();

            // Add necessary parameter/value pairs to the name/value container.
            collection.Add("text", "<?xml version=\"1.0\" encoding=\"UTF8\"?><request><query>" + "url=\"" + result_page_tmp.Replace("http://www.", "http://").Replace("http://", "") + "\"|url=\"" + result_page_tmp.Replace("http://www.", "http://") + "</query><groupings><groupby attr=\"d\" mode=\"deep\" groups-on-page=\"10\"  docs-in-group=\"1\" /></groupings></request>");


            // Upload the NameValueCollection.
            client.Credentials  = new NetworkCredential("login", "pass");
            byte[] responseArray = client.UploadValues(url, "POST", collection);

            // Decode and display the response.
            string responseString = Encoding.UTF8.GetString(responseArray);

user posted image

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