티스토리 뷰
Proxy를 이용해서 HTML 소스를 가져와야 하는 경우가 있을 때 유용할 것 같습니다.
개발 세상만사님의 스프링노트에서 가져왔습니다.
나중을 위해 소스를 옮겨 봅니다. 중간에 "아이피", "포트"는 public proxy를 검색하셔서 지정해 주면 될 것 같네요.
단, Proxy는 확실히 속도가 느린 것 같습니다.
또한 Proxy 서버를 통할 경우, HTTP 프로토콜로 주고받은 데이터가 모두 Proxy 서버에 저장되므로 주의하셔야 합니다.
- package gathering;
- import java.io.BufferedReader;
- import java.io.InputStreamReader;
- import java.net.HttpURLConnection;
- import java.net.InetSocketAddress;
- import java.net.Proxy;
- import java.net.URL;
- import java.net.URLEncoder;
- public class Proxy1 {
- public static void main(String[] args) throws Exception{
- String strKeyword = URLEncoder.encode("신발", "UTF-8");
- String strUrl = "http://search.naver.com/search.naver?where=nexearch&sm=osd&ie=UTF-8&query="+strKeyword;
- Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("아이피", 포트));
- URL url = new URL(strUrl);
- HttpURLConnection uc = (HttpURLConnection)url.openConnection(proxy);
- uc.setRequestProperty("User-Agent","Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2)");
- uc.setRequestProperty("Accept-Language", "ko-KR");
- uc.setRequestProperty("Method", "GET");
- uc.setRequestProperty("Accept", "image/gif, image/xxbitmap, image/jpeg, image/pjpeg,application/xshockwaveflash, application/vnd.msexcel,application/vnd.mspowerpoint, application/msword, */*");
- uc.setRequestProperty("Accept-Charset","UTF-8");
- uc.setRequestProperty("Referer","http://www.kr.yahoo.com/");
- uc.connect();
- String line;
- StringBuffer tmp = new StringBuffer();
- BufferedReader br = new BufferedReader(new InputStreamReader(uc.getInputStream(), "EUC-KR"));
- while ((line = br.readLine()) != null){
- tmp.append(line);
- }
- System.out.println(tmp.toString());
- }
- }
'프로그래밍 > Java' 카테고리의 다른 글
java에서 날짜 형식 변경을 위한 SimpleDateFormat에 대한 간략한 정리~ (4) | 2012.07.11 |
---|---|
jsoup을 활용해서 Java에서 HTML 파싱하는 방법 정리 (1) | 2012.05.31 |
웹 페이지 레이아웃을 설정하는 SiteMesh 세팅 및 활용에 대하여~ (0) | 2012.04.27 |
프로그래밍 주석에 대한 정리 및 몇가지 팁~ (0) | 2012.04.16 |
float와 double 타입.. (0) | 2011.11.01 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 통계
- 클라우드
- Hadoop
- 안드로이드
- 분석
- 디자인
- HTML
- 맥
- r
- fingra.ph
- 마케팅
- 아이폰
- 애플
- 빅데이터
- 구글
- 책
- 자바
- 세미나
- 모바일
- 자바스크립트
- SCORM
- 하둡
- java
- 프로젝트
- 웹
- mysql
- 도서
- XML
- ms
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
글 보관함