URLConnection 클래스로 웹 페이지 읽기
http://blog.naver.com/nicekkong/100038827474
[출처] URLConnection 클래스로 웹 페이지 읽기|작성자 nicekkong
@ URLConnection 클래스
URLConnection은 URL 주소의 내용을 읽어 오거나, 반대로 URL 주소가 가르키는 웹 어플리케이션(CGI, 서블릿, JSP 등)에게 GET 방식이나 POST 방식으로 추가적인 정보를 전달할수 있다.
그리고 웹 페이지의 내용을 읽어오는 것 외에도 반대로 웹 어플리케이션에 추가적인 정보를 전달해야 할 때가 있는데, 이때 POST 방식을 사용한다.
URLConnection 객체는 URL 클래스의 openConnection() 메서드를 이용해서 얻는다.
import java.net.*;
import java.io.*;
public class WebSpiderWithURLConnection
{
public static void main(String arg[]) {
URL url = null;
try {
url = new URL(arg[0]);
} catch (MalformedURLException el) {
System.out.println("잘못된 URL 형식!!");
System.out.println(el);
System.exit(1);
}
FileOutputStream fos = null;
try {
URLConnection urlcon = url.openConnection();
// URL 클래스의 openConnection()을 이용하여 URLConnection 객체를 얻는다.
String contentType = urlcon.getContentType();
// 웹 문서의 헤드에서 contentType를 읽어 온다.
long dl = urlcon.getDate();
// 읽어 온 시간을 ms로 반환한다.
java.util.Date d = new java.util.Date(dl);
java.text.SimpleDateFormat format =
new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss a");
String sdate = format.format(d);
System.out.println("Content Type : " + contentType);
System.out.println("읽어온 시간 : " + sdate);
InputStream in = urlcon.getInputStream();
// URL 문서의 input stream을 불러온다.
fos = new FileOutputStream("test.txt");
byte[] buffer = new byte[512];
int readcount = 0;
System.out.println("Reading.....");
while ((readcount = in.read(buffer)) != -1) {
fos.write(buffer, 0, readcount);
}
System.out.println("text.txt" + "SAVE Finish");
} catch (Exception e) {
System.out.println(e);
} finally {
try {
if(fos != null) fos.close();
} catch (Exception e) {}
}
}
}
'scrap > Java/JSP' 카테고리의 다른 글
HttpURLConnection클래스로 웹페이지 POST 요청하기 (2) | 2011.06.27 |
---|---|
웹사이트의 내용을 긁어오는 Webspider (0) | 2011.06.27 |
- [링크] The volatile keyword in Java (0) | 2011.05.14 |
- [Java 기본] JDBC를 이용한 Oracle 연동 (0) | 2011.05.14 |
- [Java 기본] Java Network - MulticastSocket을 이용한 채팅/파일전송 프로그램 (2) | 2011.05.14 |