2013년 10월 18일 금요일

java.net.URLConnection Class

URLConnection 클래스는 응용프로그램과 URL사이의 링크를 나타내는 모든 클래스의  suoerclass 입니다. 즉 자바 URL 객체에 대한 활성화된(프로토콜) 연결을 나타내는 클래스 이며 URL로 나타낸 자원에 대해 입력과 출력을 하는 것이 목적 입니다.
응용부분은 다음과 같습니다.
- HTTP 연결을 통한 이진 데이터 다운로드
- 폼 데이터를 POST 방식으로 전송하기

다음의 예를 보도록 하겠습니다. *** 부분은 실제 ID와 PASSWORD를 넣으셔야 하는데
본인이 아시는 사이트를 예를 들어 해보세요~

//회원 가입된 임의의 사이트에 ID. PassWord를 POST 방식으로 넘김으로서 
//실제 웹페이지에서 인증한것과 같은 결과를 받아 화면에 출력
import java.io.*;
import java.net.*;

class URLPostTest{
public static void main(String[] args) throws Exception {
URL url = new URL("http", "www.neonet.co.kr", 80, "/rebank/common/login_after_new.neo?/rebank/index.neo");
URLConnection con = url.openConnection();
//"이 연결을 통해 데이터를 송신 하겠다" 를 알림
//HTTP의 POST와 같은 효과
con.setDoOutput(true);

PrintWriter out = new PrintWriter(con.getOutputStream());
StringBuffer sb = new StringBuffer("id=" + URLEncoder.encode("***", "euc-kr"));
sb.append("&passwd=" + URLEncoder.encode("******", "euc-kr"));

out.print(sb.toString());
out.close();

//서버의 응답을 받아 내기 위해 getInputStream을 해야만 실제로 프로토콜(),"KSC5601"));
String line;
while((line = br.readLine()) != null) {
System.out.println(line);
}
br.close();
}
}




------------------------
예제2
------------------------
//회원 가입된 임의의 사이트에 ID. PassWord를 POST 방식으로 넘겨 
//실제 웹페이지에서 인증한것과 같은 결과를 받아 화면에 출력
import java.io.*;
import java.net.*;
class URLPostTest{
public static void main(String[] args) throws Exception {
URL url = new URL("http", "www.neonet.co.kr", 80, "/rebank/common/login_after_new.neo?/rebank/index.neo");
URLConnection con = url.openConnection();
//"이 연결을 통해 데이터를 송신 하겠다" 를 알림
//HTTP의 POST와 같은 효과
con.setDoOutput(true);
PrintWriter out = new PrintWriter(con.getOutputStream());

                                StringBuffer sb = new StringBuffer("id=" + URLEncoder.encode("****", "euc-kr"));
sb.append("&passwd=" + URLEncoder.encode("****", "euc-kr"));
out.print(sb.toString());
out.close();
//서버의 응답을 받아 내기 위해 getInputStream을 해야만 실제로 프로토콜 핸들러가 
//웹서버에 연결하고 POST명령을 보내고&nbsnbsp;!= null) System.out.println(line);
br.close();
}
}
 


댓글 없음:

댓글 쓰기