해당 주소의 모든 컨텐츠를 String으로 얻어오는 소스
나중에 고쳐라.


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.net.CookieHandler;
import java.net.URL;
import java.net.URLConnection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import org.junit.Test;

public class UrlTest {
// private static Log log = LogFactory.getLog(UrlTest.class);
 
 @Test
 public void getContent() throws Exception {
  
  getURL("http://java.sun.com", "utf-8", true);
 }
 
 private String getURL(String surl, String ENCODING, boolean isGetHeader) throws Exception{
 
  String Header = "";
  String Cookie = ""; 
  String ret = "";
  String param = "";

  try {
      
      URL url = new URL(surl);
      URLConnection urlC = url.openConnection();
      urlC.setUseCaches(false);
    
      urlC.setDoOutput(true);
      urlC.setRequestProperty("Cookie", Cookie);
 
      if(!param.equals("")) {
       OutputStream outStream = urlC.getOutputStream();
       Writer writer = new OutputStreamWriter(outStream);
       writer.write(param);
      }
 
      urlC.connect();
 
      InputStreamReader isr = null;
      BufferedReader br =  null;
      String temp;
      StringBuffer buffer = new StringBuffer();
 
      try {
        
       isr = new InputStreamReader(urlC.getInputStream(), ENCODING);
       br = new BufferedReader(isr);
 
       while((temp = br.readLine()) != null) {
        //System.out.println(temp);
        buffer.append(temp);
       }
 
       br.close();
       isr.close();
 
       Header = "";
         
       if(isGetHeader) {
        Header = getHeader(urlC, Header);
       }
 
       ret = buffer.toString();
       
      } catch(IOException e) {
       ret = "fail.." + e;
      }
     } catch(IOException e) {
      ret = "fail." + e;
     }

     //System.out.println(ret);
    
     return(ret);
 }
 
 private String getHeader(URLConnection urlC, String Header) {
  
  Map map = urlC.getHeaderFields();
  System.out.println(map);
  
  
  int n = 0;
  String field = "a";
  while(field != null && !field.equals("")) {
   field= urlC.getHeaderField(n);
   Header += urlC.getHeaderFieldKey(n)+"="+field+"\n";
   n++;
  }

    /*
     * HTTP 헤더 정보는 다음과 같은 형태로 얻을수 있다.
     * null=HTTP/1.1 200 OK
     * Date=Sun, 27 Jul 2008 08:21:29 GMT
     * Server=Microsoft-IIS/6.0
     * X-Powered-By=ASP.NET
     * Content-Length=6
     * Content-Type=text/html
     * Set-Cookie=NAME=NAME2=VALUE2&NAME1=VALUE1; path=/
     * Set-Cookie=ASPSESSIONIDQCQCSQDD=GMPNAABCMELOFMCPFPCJOOHG; path=/
     * Cache-control=private
     * null=null
     */
  
  System.out.println(Header);
  
  return Header;
 }
 
 private String retrieveCookie(URL url) throws Exception {
     
  String cookieValue = null;

     CookieHandler handler = CookieHandler.getDefault();
     if (handler != null) {
      
         Map headers = handler.get(url.toURI(), new HashMap());
         List values = (List)headers.get("Cookie");
        
         for (Iterator iter=values.iterator(); iter.hasNext();) {
        
          String v = (String)iter.next();

              if (cookieValue == null)
               cookieValue = v;
              else
                     cookieValue = cookieValue + ";" + v;
         }
     }
    
     System.out.println(cookieValue);
    
     return cookieValue;
 }
}


쿠키 관련은  다음 사이트 참조를 참조 할것
http://programmers.tistory.com/204

'java' 카테고리의 다른 글

톰캣, 자바 메모리 관련  (0) 2010.02.03
파일 다운 로드 관련  (0) 2010.02.03
파일 업로더  (0) 2009.12.10
힙 사이즈 구하기  (0) 2009.12.04
jdk 설치 윈도우, 리눅스  (0) 2009.11.28
Posted by gt1000

블로그 이미지
gt1000

태그목록

공지사항

어제
오늘

달력

 « |  » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함