수다닷컴

  • 해외여행
    • 괌
    • 태국
    • 유럽
    • 일본
    • 필리핀
    • 미국
    • 중국
    • 기타여행
    • 싱가폴
  • 건강
    • 다이어트
    • 당뇨
    • 헬스
    • 건강음식
    • 건강기타
  • 컴퓨터
    • 프로그램 개발일반
    • C언어
    • 비주얼베이직
  • 결혼생활
    • 출산/육아
    • 결혼준비
    • 엄마이야기방
  • 일상생활
    • 면접
    • 취업
    • 진로선택
  • 교육
    • 교육일반
    • 아이교육
    • 토익
    • 해외연수
    • 영어
  • 취미생활
    • 음악
    • 자전거
    • 수영
    • 바이크
    • 축구
  • 기타
    • 강아지
    • 제주도여행
    • 국내여행
    • 기타일상
    • 애플
    • 휴대폰관련
  • 프로그램 개발일반
  • C언어
  • 비주얼베이직

소스좀 봐주세요 ㅠ쓰레드 관련 질문입니다 ㅠ

민G

2026.05.02

String diaryID=;
int status=0;
if(e.getSource()== accept){
HttpClient client = new HttpClient();
//Login
PostMethod post = new PostMethod(http://edda.in/userloginprocess.jsp);
String tempid=,temppw=;
try{
tempid = new String(ID.getText().getBytes(EUC-KR),8859_1);
temppw = new String(password.getText().getBytes(EUC-KR),8859_1);
}catch(Exception err){
err.printStackTrace();
}
tempid = tempid.trim();
temppw = temppw.trim();
NameValuePair[] data = new NameValuePair[]{
new NameValuePair(nick, tempid),
new NameValuePair(password, temppw)
};
post.setRequestBody(data);
try{
status = client.executeMethod(post);

}catch(Exception err){

}

String redirectLocation=;

Header locationHeader = post.getResponseHeader(location);
if(locationHeader!=null){
redirectLocation=locationHeader.getValue();
for(int i=34;iredirectLocation.length();i++){
diaryID+=String.valueOf(redirectLocation.charAt(i));
}
}else
JOptionPane.showMessageDialog( null, Login Error!!, Error, JOptionPane.ERROR_MESSAGE);

//End Login
today.setTime(new Date());
//Write

try {
if(status!=200 && locationHeader!=null){
String tempsub=,tempcontents=;
try{
tempsub = new String(subject.getText().getBytes(EUC-KR),8859_1);
tempcontents = new String(contents.getText().getBytes(EUC-KR),8859_1);
}catch(Exception err){
err.printStackTrace();
}
NameValuePair[] wrdata = new NameValuePair[]{
new NameValuePair(diary,diaryID),
new NameValuePair(year,String.valueOf(today.get(Calendar.YEAR))),
new NameValuePair(month,String.valueOf(today.get(Calendar.MONTH)+1)),
new NameValuePair(date,String.valueOf(today.get(Calendar.DATE))),
new NameValuePair(background,),
new NameValuePair(category,0),
new NameValuePair(title,tempsub),
new NameValuePair(body,tempcontents),
new NameValuePair(permission,String.valueOf(permission.getSelectedIndex())),
new NameValuePair(copy,off),
new NameValuePair(interior,random.gif)
};
String Write_url=http://edda.in/writediaryprocess.jsp;
PostMethod wmethod = new PostMethod(Write_url);wmethod.setRequestBody(wrdata);
client.executeMethod(wmethod);
JOptionPane.showMessageDialog( null, Complete, Complete, JOptionPane.INFORMATION_MESSAGE);}
else{
JOptionPane.showMessageDialog( null, Cannot connect!!, Error, JOptionPane.ERROR_MESSAGE);
}
}catch (Exception err){
err.printStackTrace();
}
}
accept버튼을 누르면 저 위에 있는 사이트에 로그인을 하고 글을 쓰는 기능을 구현한 것입니다.

액션리스너 부분을 긁어봤네요 ^^

accept버튼을 여러번 누르면 글이 여러번 올라가게됩니다.

근데-_-macro.java라는 파일을 제가 따로 만들어서 매크로를 실행시키면 1분마다 시간체크를 하고 제가 원하는 시간이 되면 글이 올라가게 하게 구현했습니다.
public void run() {
int i=0;
while(true){
System.out.println(Macro Waiting. + i);
i++;try{
Thread.sleep(60000);//60000으로 지정해줘서 1분에 한번씩 체크.
}catch(Exception e){

}
today.setTime(new Date());

if(today.get(Calendar.HOUR_OF_DAY)==0 && today.get(Calendar.MINUTE)==5){
 sp;HttpClient client = new HttpClient();
//Login
PostMethod post = new PostMethod(http://edda.in/userloginprocess.jsp);
String tempid=,temppw=;
try{
tempid = new String(id.getBytes(EUC-KR),8859_1);
temppw = new String(pass.getBytes(EUC-KR),8859_1);
}catch(Exception err){
err.printStackTrace();
}
tempid = tempid.trim();
temppw = temppw.trim();
NameValuePair[] data = new NameValuePair[]{
new NameValuePair(nick, tempid),
new NameValuePair(password, temppw)
};
post.setRequestBody(data);
try{
status = client.executeMethod(post);

}catch(Exception err){

}
String redirectLocation=;
Header locationHeader = post.getResponseHeader(location);

if(locationHeader!=null){
redirectLocation=locationHeader.getValue();
for(int j=34;jredirectLocation.length();j++){
did+=String.valueOf(redirectLocation.charAt(j));
}

//End Login
today.setTime(new Date());
//Write

try {
if(status!=200 && locationHeader!=null){
String tempsub=매크로 글남기기tempcontents=이건 매크로;;;
try{
tempsub = new String(tempsub.getBytes(EUC-KR),8859_1);
tempcontents = new String(tempcontents.getBytes(EUC-KR),8859_1);
}catch(Exception err){
err.printStackTrace();
}
NameValuePair[] wrdata = new NameValuePair[]{
new NameValuePair(diary,did),
new NameValuePair(year,String.valueOf(today.get(Calendar.YEAR))),
new NameValuePair(month,String.valueOf(today.get(Calendar.MONTH)+1)),
new NameValuePair(date,String.valueOf(today.get(Calendar.DATE))),
new NameValuePair(background,),
new NameValuePair(category,0),
new NameValuePair(title,tempsub),
new NameValuePair(body,tempcontents),
new NameValuePair(permission,3),
new NameValuePair(copy,off),
new NameValuePair(interior,random.gif)
};
String Write_url=http://edda.in/writediaryprocess.jsp;
PostMethod wmethod = new PostMethod(Write_url);wmethod.setRequestBody(wrdata);
client.executeMethod(wmethod);
System.out.println(Complete);

}
else{
JOptionPane.showMessageDialog( null, Cannot connect!!, Error, JOptionPane.ERROR_MESSAGE);
}
}catch (Exception err){
err.printStackTrace();
}

//End write
}
}
}

}
run부분을 긁어봤습니다.

켜두면 밤 12시 5분에 글을 쓰게 되어있습니다 일단은;

근데 macro의 run부분이 글을 올리는 부분이기에 accept부분을 긁어서 거의 고치지 않고 붙였는데;

이상하게 쓰레드가 여러번 돌아가면 글이 여러번 써져야 하는데 그러지 않네요;;
음 정리 하자면

accept버튼을 여러번 누르면 글이 여러개 올라갑니다.

그러나 쓰레드가 여러번 돌아가면 그 돌아간 횟수만큼 글이 올라가야 하는데 맨 첫번째 시도에서만 글이 올라가고-_-

그 이후의 시도에서는 complete라고 뜨긴 하는데 글은 올라가지 않네요;;

분명히 run안의 부분은 accept를 눌렀을때 글을 쓰는 부분과 같고 accept버튼을 여러분 누르는것과 쓰레드의 while문이 계속 돌아가는것과 돌아가는 방법은 같을텐데 왜 쓰레드는 맨 처음 한번밖에 글이 써지지 않을까요?

어딜 찾아봐도 명쾌한 해답이 없네요..ㅠ

신청하기





COMMENT

댓글을 입력해주세요. 비속어와 욕설은 삼가해주세요.

  • 비마중 2026-05-02

    아이코 실수; 기본이 복사 안되게..라-_-클릭한다는거 ㄹ깜빡했네요;

  • 먹딸기 2026-05-02

    블럭이 어디부터 인지 알아보기도 힘드네요.
    최소한 복사 해서 돌려볼수 있게는 해야 하는거 아닌가요?
    이거 보면서 타이핑해서 테스트 하기엔 너무 힘들어서 패스할께요.

번호 제 목 글쓴이 날짜
2752024 소숫점 뺄셈 !! ㅠㅜ 초롬 2026-10-20
2751970 자바 게임 만들려는데 부탁드립니다 (1) 라온제나 2026-10-19
2751908 자바스크립트 처리속도를 체크할 수 있는 방법 있나요? (1) 테이 2026-10-19
2751822 그누보드 아이프레임으로 구현했는데 제목 클릭해서 들어가면 푸터가 동동...떠다녀요 내꺼하자 2026-10-18
2751790 자바 그래픽 관련을 공부하고 싶은데요.. 어디 좋은 사이트나 책 없을까요?? (1) 큰재 2026-10-18
2751733 CTF가머죠? (5) 두동 2026-10-17
2751709 배열부분 궁금한 부분이있습니다. 딸기우유 2026-10-17
2751677 포인터 책을 보다가,,, (2) 동백 2026-10-17
2751648 익스플로 버전에 따라서 생기는 공백.. (1) 모아 2026-10-17
2751623 DEL 태그의에서 선굵기 및 컬러지정이 가능한가 해서요~ (4) 비치나 2026-10-16
2751573 테마 업로드 에러.. (1) 꽃 2026-10-16
2751548 수학? 물리?? (3) 찬늘 2026-10-16
2751461 상단네비 fixed ie6 핵 해결방안이 있을까요? 맑다 2026-10-15
2751436 레이아웃을 잡고 코딩을 하는데 드림위버에서의 결과와 IE에서 결과가 다르게 나오네요. (3) 키클 2026-10-15
2751403 형들좀도와주세요string compression (1) 알렉산더 2026-10-14
2751349 링크 다운로드하기 팬지 2026-10-14
2751295 c++한번도 손않댄 사람이... 날위해 2026-10-13
2751267 플래시8 사용에서 플레이어 만들었는데요 (1) 블1랙캣 2026-10-13
2751182 회원가입 파랑새 2026-10-12
2751152 소셜 플러그인 문제입니다. 얀 2026-10-12
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

수다닷컴 | 여러분과 함께하는 수다토크 커뮤니티 수다닷컴에 오신것을 환영합니다.
사업자등록번호 : 117-07-92748 상호 : 진달래여행사 대표자 : 명현재 서울시 강서구 방화동 890번지 푸르지오 107동 306호
copyright 2011 게시글 삭제 및 기타 문의 : clairacademy@naver.com