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

2288
знаков
0
таблиц
0
изображений

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

Задача: требуется из 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();


Информация о работе «Отправка запроса методом POST на сервер из .NET приложения»
Раздел: Информатика, программирование
Количество знаков с пробелами: 2288
Количество таблиц: 0
Количество изображений: 0

Похожие работы

Скачать
68363
0
0

... через Интернет с помощью банковской карточки). Если раньше угрозой номер один считались компьютерные вирусы, и именно им было посвящено подавляющее большинство статей в средствах массовой информации, то теперь на первый план выходят безопасное хранение данных и их передача по Сети, защищенные финансовые транcакции и конфиденциальность электронно-цифровой подписи (ЭЦП). Кроме того, наряду с этой ...

Скачать
155225
4
0

... дешевле чем ОС Unix, как правило просты в использовании и предоставляют доступ почти ко всем ресурсам сети Internet. Абонентское программное обеспечение весьма разнообразно. Его выпускают фирмы-производители сетевого программного обеспечения, а также организации, занимающиеся исследованиями в области глобальных сетей. Именно ввиду большого числа таких пакетов и важности абонентского программного ...

Скачать
85123
2
8

... от необходимости самим создавать соответствующие программы. Присутствует в ASP и PHP, отсутствует в XML. Создание серверных сценариев. Основа любого языка для создания динамических сайтов. Присутствует в ASP и PHP, отсутствует в XML. Описание данных. Важная функция, позволяющая представлять данные в едином формате, единым способом записи. Отсутствует в ASP и PHP, присутствует в XML. Наличие ...

Скачать
255323
33
27

... в помещении представлена на рисунке 4.1 Рисунок 4.1 - Схема размещения светильников в аудитории № 209. Заключение В работе проведено исследование использования программ дистанционного обучения для подготовки учебно-методической документации, описаны их положительные стороны и выявлены основные проблемы. В результате проведенного исследования разработано web-приложение "R@Learning ...

0 комментариев


Наверх