Статья

Статья Отправка запроса методом POST на сервер из. NET приложения

Работа добавлена на сайт bukvasha.net: 2015-10-29

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 29.3.2025



Отправка запроса методом POST на сервер из .NET приложения

Христофоров Юрий

Задача: требуется из Windows .NET приложения отправить POST запрос на сервер и получить результат работы запрошенного методом POST скрипта. Предусмотреть ситуацию, при которой скрипт на сервере защищен Basic авторизацией.

Ниже приведен пример на C# для решения данной задачи.

C# код:

// необходимые библиотеки

using System;

using System.Web;

using System.Collections;

using System.Text;

using System.IO;

using System.Net;

using System.Data;

// ......

WebResponse result = null;

WebRequest req = null;

Stream newStream = null;

Stream ReceiveStream = null;

StreamReader sr = null;

try

{

 // Url запрашиваемого методом POST скрипта

 req = WebRequest.Create("http://www.servername.com/script.cgi");

 req.Method = "POST";

 req.Timeout = 120000;

 // эта строка необходима только при защите скрипта на сервере Basic авторизацией

 //req.Credentials = new NetworkCredential("login", "password");

 req.ContentType = "application/x-www-form-urlencoded";

 byte[] SomeBytes = null;

 // передаем список пар параметров / значений для запрашиваемого скрипта методом POST

 // в случае нескольких параметров необходимо использовать символ & для разделения параметров

 // в данном случае используется кодировка windows-1251 для Url кодирования спец. символов значения параметров

 SomeBytes = Encoding.GetEncoding(1251).GetBytes("ParamName1=" + HttpUtility.UrlEncode("ParamValue1", Encoding.GetEncoding(1251)));

 req.ContentLength = SomeBytes.Length;

 newStream = req.GetRequestStream();

 newStream.Write(SomeBytes, 0, SomeBytes.Length);

 newStream.Close();

 // считываем результат работы

 result = req.GetResponse();

 ReceiveStream = result.GetResponseStream();

 Encoding encode = Encoding.GetEncoding(1251);

 sr = new StreamReader( ReceiveStream, encode );

 Char[] read = new Char[256];

 int count = sr.Read( read, 0, 256 );

 string strOut = "";

 while (count > 0)

 {

  String str = new String(read, 0, count);

  strOut += str;

  count = sr.Read(read, 0, 256);

 }

 Console.WriteLine("Результат работы запрошенного методом POST скрипта: " + strOut);

}

catch (Exception ex)

{

 Console.WriteLine("Ошибка: "+ex.Message);

}

finally

{

 if (newStream != null)

  newStream.Close();

 if (ReceiveStream != null)

  ReceiveStream.Close();

 if (sr != null)

  sr.Close();

 if (result != null)

  result.Close();

}

Список литературы

Для подготовки данной работы были использованы материалы с сайта http://www.activex.net.ru/



1. Курсовая Точечный массаж в спортивной медицине
2. Реферат на тему Betrayed Essay Research Paper Lying here alone
3. Контрольная работа на тему Психологическое понятие враждебности в художественных произведениях
4. Реферат на тему Alaska Drillings Essay Research Paper Drilling for
5. Реферат на тему Obsessive Compulsive Disorder In Children Essay Research
6. Реферат на тему Steroids 2 Essay Research Paper STEROIDS PLAYING
7. Статья Основные свойства практического мышления в деятельности руководителя
8. Биография на тему Ролан Барт
9. Реферат Теримн Свастика и его синонимы
10. Книга на тему Методы решения задач по физике