System.Net을 이용하여 처리하는 방법도 있겠으며, External URL에 관한 처리 방법은 다양합니다.
Stream으로 외부 URL을 원격으로 호출하는 방법에 관해 소개하겠습니다.
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;