[ASP.NET] C# 환경에서 URL 호출 - HttpWebResponse, HttpWebRequset
System.Net을 이용하여 처리하는 방법도 있겠으며, External URL에 관한 처리 방법은 다양합니다.
Stream으로 외부 URL을 원격으로 호출하는 방법에 관해 소개하겠습니다.
1. 구현
Namespace 선언
System.IO;
System.Web;
대상 URL 선언
HttpWebRequest의 선언
HttpWebResponse의 선언
응용) C# 환경에서 URL을 호출하여 Stream으로 받는 예제
Java 환경에서 URLConnection 과 같은 기능을 구현해보게 되었다.
특정 URL로 POST 방식으로 호출을 한 후 응답을 String 받는 기능을 수행한다.
HttpWebResponse 객체를 이용하여 Java의 URLConnection 와 동일하게 이용한다.
StringBuilder postParams = new StringBuilder();
postParams.Append("id=" + "abcd");
postParams.Append("&pw=" + "1234");
Encoding encoding = Encoding.UTF8;
byte[] result = encoding.GetBytes(postParams.ToString());
// 타겟이 되는 웹페이지 URL
string Url = "http://localhost:8080/MavenEULI/index.do"; //~~~~/login.php; //수정해주세요.
HttpWebRequest wReqFirst = (HttpWebRequest)WebRequest.Create(Url);
// HttpWebRequest 오브젝트 설정
wReqFirst.Method = "POST";
wReqFirst.ContentType = "application/x-www-form-urlencoded";
wReqFirst.ContentLength = result.Length;
Stream postDataStream = wReqFirst.GetRequestStream();
postDataStream.Write(result, 0, result.Length);
postDataStream.Close();
HttpWebResponse wRespFirst = (HttpWebResponse)wReqFirst.GetResponse();
// Response의 결과를 스트림을 생성합니다.
Stream respPostStream = wRespFirst.GetResponseStream();
StreamReader readerPost = new StreamReader(respPostStream, Encoding.UTF8);
// 생성한 스트림으로부터 string으로 변환합니다.
string resultPost = readerPost.ReadToEnd();
txt1.Text = resultPost;
2. 참고자료(Reference)
1. MSDN - HttpWebResponse 클래스, http://msdn.microsoft.com/ko-kr/library/system.net.httpwebresponse(v=vs.110).aspx, 접속일자 2013-12-16
2. MSDN - HttpWebRequest - 클래스를 사용하여 데이터 전송, http://msdn.microsoft.com/ko-kr/library/debx8sh9(v=vs.110).aspx, 접속일자 2013-12-16
'소프트웨어(SW) > MS - ASP.NET' 카테고리의 다른 글
[ASP.NET MVC5] Visual Studio 2012에서 ASP.NET MVC 5 구동하기 (9) | 2014.08.24 |
---|---|
[ASP.NET] OLE DB Provider for SQL Server (9) | 2013.12.09 |
[ASP.NET] 서버가 읽을 수 있는 형태로 Server.UrlPath.Encode() (9) | 2013.12.09 |
[ASP.NET] Response.TransmitFile에 관한 소개 (9) | 2013.12.09 |
[ASP.NET] Eval에 조건문 사용하기 (9) | 2013.12.08 |