Реферат по предмету "Программирование"


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

Отправка запроса методом 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/


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.