httpclient는 Post Method를 사용하여 데이터 소스 코드를 제출합니다.
코드 사본은 다음과 같습니다.
패키지 게시물;
import java.io.ioexception;
import org.apache.commons.httpclient.header;
import org.apache.commons.httpclient.httpclient;
import org.apache.commons.httpclient.httpexception;
import org.apache.commons.httpclient.httpstatus;
import org.apache.commons.httpclient.namevaluepair;
import org.apache.commons.httpclient.methods.postmethod;
공개 클래스 posthttp {
/**
* @param args
*/
public static void main (String [] args) {
// TODO 자동 생성 메소드 스텁
httpclient httpclient = new httpclient ();
문자열 URL = "http://193.167.13.21/setup.cgi";
postmethod postMethod = new postMethod (url);
// 각 양식 필드의 값을 채우십시오
namevaluepair [] data = {
새 이름 ValuePair ( "ID", "11"),
새 이름 ValuePair ( "MTG", "0"),
새로운 NameValuePair ( "HaveCookie", "0"),
새 이름 ValuePair ( "backid", "30"),
새로운 이름 ValuePair ( "PSW", "Password")
};
// 양식의 값을 PostMethod에 넣습니다.
postMethod.setRequestBody (data);
// postMethod를 실행합니다
int statusCode = 0;
노력하다 {
상태 코드 = httpclient.executemethod (postmethod);
} catch (httpexception e) {
// TODO 자동 생성 캐치 블록
e.printstacktrace ();
} catch (ioexception e) {
// TODO 자동 생성 캐치 블록
e.printstacktrace ();
}
// httpclient는 Post 및 Put과 같은 후속 서비스가 필요한 요청에 대한 전달을 자동으로 처리 할 수 없습니다.
// 301 또는 302
if (statusCode == httpstatus.sc_moved_permanently || statusCode == httpstatus.sc_moved_temporally)
{
// 처음부터 스티어링 주소를 꺼냅니다.
헤더 LocationHeader = postMethod.getResponseHeader ( "위치");
문자열 위치 = null;
if (LocationHeader! = null) {
location = locationheader.getValue ();
System.out.println ( "페이지는" + location)로 리디렉션되었습니다.
}
또 다른 {
System.err.println ( "위치 필드 값은 null입니다.");
}
반품;
}
또 다른
{
System.out.println (postMethod.getStatusline ());
문자열 str = "";
노력하다 {
str = postMethod.getResponseBodyAsString ();
} catch (ioexception e) {
// TODO 자동 생성 캐치 블록
e.printstacktrace ();
}
System.out.println (str);
}
postMethod.releaseConnection ();
반품 ;
}
}
// 이것은 사용자 인증 프로세스의 로그인 정보입니다.
필요한 JAR 패키지 :
1. Commons-httpclient-3.1-rc1.zip http://jakarta.apache.org/commons/httpclient/downloads.html
2. Commons-codec-1.3.jar http://jakarta.apache.org/site/downloads/downloads_commons-codec.cgi
3. Tomcat5.5 또는 http://jakarta.apache.org/site/downloads/downloads_commons-logging.cgi의 Tomcat 5.5/bin 디렉토리의 Commons-Logging-api.jar