Статья

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

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

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

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

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

от 25%

Подписываем

договор

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

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



Отправка запроса методом 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. Реферат на тему Понятие назначение и создание презентации
3. Реферат Upper Intermediate The Passive
4. Реферат на тему Love And Marriage In The 18Th Century
5. Реферат Анализ древнерусской литературы на примере Слова о полку Игореве
6. Реферат Леонардо да Винчи и его творчество
7. Реферат на тему Abortion Essay Research Paper Hello Today
8. Реферат Производство цемента 2
9. Реферат на тему Driving Testing Essay Research Paper Since the
10. Реферат Понятие спроса и предложения