첨부 소스 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170

▶ POST 요청 스트림 구하기 예제

using System.IO;
using System.Text;

string   url         = "http://localhost:9999/test.action";
string   contentType = "application/json; charset=unicode";
Encoding encoding    = Encoding.Unicode;
string   argument    = "{\"Subject\":\"제목1\",\"Category\":\"카테고리2\"}";

Stream stream = GetPOSTRequestStream(url, contentType, encoding, argument);

※ argument는 JSON 문자열이나 쿼리 문자열을 설정할 수 있다.
※ contentType은 argument에 맞추어 설정해야 한다.
   . JSON 문자열 : "application/json"
   . 쿼리 문자열 : "application/x-www-form-urlencoded"

 

728x90

 

▶ POST 요청 스트림 구하기

using System.IO;
using System.Net;
using System.Text;

#region POST 요청 스트림 구하기 - GetPOSTRequestStream(url, contentType, encoding, argument)

/// <summary>
/// POST 요청 스트림 구하기
/// </summary>
/// <param name="url">URL</param>
/// <param name="contentType">컨텐츠 타입</param>
/// <param name="encoding">인코딩</param>
/// <param name="argument">인자 문자열</param>
/// <returns>POST 요청 스트림</returns>
public Stream GetPOSTRequestStream(string url, string contentType, Encoding encoding, string argument)
{
    byte[] contentArray = encoding.GetBytes(argument);

    HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;

    request.ProtocolVersion           = HttpVersion.Version11;
    request.AllowAutoRedirect         = true;
    request.AllowWriteStreamBuffering = true;
    request.Method                    = WebRequestMethods.Http.Post;
    request.ContentType               = contentType;
    request.ContentLength             = contentArray.Length;

    using(Stream requestStream = request.GetRequestStream())
    {
        requestStream.Write(contentArray, 0, contentArray.Length);
    }

    HttpWebResponse response = request.GetResponse() as HttpWebResponse;

    Stream responseStream = response.GetResponseStream();

    return responseStream;
}

#endregion
728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요