자카르타 httpclient 사용시 질문입니다.
지희
public inputstream gethtml(string url){
httpclient client = new httpclient();
httpmethod method = new getmethod(url);
inputstream html_source=null;
try{
int statuscode = client.executemethod(method);
system.out.println(statuscode : +statuscode);
if(statuscode == httpstatus.sc_ok){
html_source = method.getresponsebodyasstream();
}else if((statuscode == httpstatus.sc_moved_temporarily) ||
(statuscode == httpstatus.sc_moved_permanently) ||
(statuscode == httpstatus.sc_see_other) ||
(statuscode == httpstatus.sc_temporary_redirect)){
system.out.println(redirecte !!!);
system.out.println(redirect target: + method.getresponseheader(location).getvalue());
}
}catch (exception e){
html_source = null;
e.printstacktrace();
}
return html_source;
}
특별한 오류 메세지는 없습니다. 그냥 멈춥니다;;
제가 짠 소스인데요. 제가 짰다기 보단 여기저기 수집해서 붙여넣기 했지만;;
기능은 단순 합니다. 인수로 받은 url을 get방식으로 접근해서 해당 페이지의 소스를 스트림에 받아오는 함수 입니다.
테스트 서버에서 시험했을땐 잘 돌았는데요. 이걸 실서버로 옮기니 저 빨간 줄 부분에서 hang이 걸립니다. 예외가 발생하는것도 아니구요. 그냥 빨간줄에서 계속 대기합니다.
실서버와 테스트 서버의 차이는 방화벽의 유무 입니다. 제 생각엔 방화벽문제인것 같은데요. 해결방법이나 정확한 이유라도 알고 싶습니다.