Programming/.NET

HttpWebRequest와 HttpWebResponse 클래스를 사용하면 HTTP 프로토콜로 특정 페이지를 호출하고 해당 페이지의 전체요소를 가져올 수 있습니다.

 

Uri url = new Uri("http://cliel.com");

if (url.Scheme == Uri.UriSchemeHttp) {
    HttpWebRequest hwr = (HttpWebRequest)HttpWebRequest.Create(url);
    hwr.Method = WebRequestMethods.Http.Get;

    HttpWebResponse hwres = (HttpWebResponse)hwr.GetResponse();
    StreamReader sr = new StreamReader(hwres.GetResponseStream());

    string s = sr.ReadToEnd();
    hwres.Close();

    MessageBox.Show(s);
}

 

반대로 HTTP프로토콜을 통해 데이터를 보내는 것도 가능한데 위 예제의 WebRequestMethods의 Get을 Post로 전환하는게 핵심입니다.

 

Uri url = new Uri("http://cliel.com");

string sdata = "userid=tmpuser&userpassword=tmppassword";

if (url.Scheme == Uri.UriSchemeHttp) {
    HttpWebRequest hwr = (HttpWebRequest)HttpWebRequest.Create(url);
    hwr.Method = WebRequestMethods.Http.Post;
    hwr.ContentLength = sdata.Length;
    hwr.ContentType = "application/x-www-form-urlencoded";

    System.IO.StreamWriter sw = new StreamWriter(hwr.GetRequestStream());
    sw.Write(sdata);
    sw.Close();

    HttpWebResponse hwres = (HttpWebResponse)hwr.GetResponse();
    StreamReader sr = new StreamReader(hwres.GetResponseStream());

    string s = sr.ReadToEnd();
    hwres.Close();

    MessageBox.Show(s);
}

 

만약 cliel.com 에 로그인 기능이 구현되었다고 가정한 경우 사용자 ID와 비밀번호를 Post로 전송하여 로그인된 최종 결과를 받아올 것입니다.

0 0