티스토리 뷰


//자바 1.5로 컴파일 되었으며, 프롬프트 상에서 동작하고, 실행 인자는 없다.

import java.io.*;
import java.net.*;

public class cyLooper extends Thread{//매크로에러 발생 방지를 위한 딜레이를 위해 쓰레드상속
    public final String urlStr= http:
    //http://minihp.cyworld.nate.com/pims/main/pims_main4.asp?tid=24631766;
    // '?'를 중심으로 좌측은 공통된 주소이며, '?'우측의 tid=xxxxxxxx는 싸이월드 구분 주소를 나타낸다.

    URL             url;
    URLConnection   con;
    InputStream     is;

    public void run(){
        for(int i=0;i<=1000;i++){
            try{
                url= new URL(urlStr);       //주어진 주소를 이용하여 URL클래스 생성
                con= url.openConnection();  //url커넥션을 열어 URLConnection을 생성한다.

                is= con.getInputStream();
                //실제로 데이터를 읽는 부분으로서, 설정된 주소의 html등의 정보를 읽어온다.
                //이 구문에서 실제로 업카운트가 발생한다.

                if(con.toString().endsWith("&limit=0") || con.toString().endsWith("&limit=1")){
                //매크로 에러가 발생하면 cyworld는 페이지를 리다이렉트 시킨다.
                //그 주소의 끝이 '$limit=0' 혹은 '&limit=1'로 끝나므로 매크로 발생이라 정의한다.

                        System.out.println("메크로 에러에 걸림");
                        break;//카운터를 종료시켜버린다.
                }

                System.out.println("Count: "+i);//얼마나 카운트 되었는지 출력해 준다.
                sleep(17000);//17초간 쓰레드를 재운다.
                //즉 17초당 한번씩 업카운트 되며 17초 이하일 경우 매크로 에러를 발생할 가능성 높음.
            }catch(Exception e){}
        }
    }

    public static void main(String args[]){
        cyLooper cl= new cyLooper();
        cl.start();
    }
};

댓글
Total
168,054
Today
21
Yesterday
40