HttpClient ใช้วิธีการโพสต์เพื่อส่งซอร์สโค้ดข้อมูล:
การคัดลอกรหัสมีดังนี้:
แพ็คเกจโพสต์;
นำเข้า java.io.ioException;
นำเข้า org.apache.commons.httpclient.header;
นำเข้า org.apache.Commons.httpClient.httpClient;
นำเข้า org.apache.commons.httpclient.httpexception;
นำเข้า org.apache.commons.httpclient.httpstatus;
นำเข้า org.apache.commons.httpclient.namevaluePair;
นำเข้า org.apache.commons.httpclient.methods.postmethod;
ชั้นเรียนสาธารณะ Postthttp {
-
* @param args
-
โมฆะคงที่สาธารณะหลัก (สตริง [] args) {
// todo วิธีการที่สร้างขึ้นอัตโนมัติสตับ
httpClient httpClient = new httpClient ();
string url = "http://193.167.13.21/setup.cgi";
postmethod postmethod = postmethod ใหม่ (URL);
// กรอกค่าของฟิลด์แต่ละฟิลด์
namevaluePair [] data = {
ใหม่ namevaluePair ("id", "11")
ใหม่ namevaluePair ("mtg", "0"),
ใหม่ NamevaluePair ("Havecookie", "0"),
ใหม่ NamevaluePair ("backid", "30"),
ใหม่ NamevaluePair ("PSW", "รหัสผ่าน")
-
// ใส่ค่าของแบบฟอร์มลงใน postmethod
postmethod.setRequestbody (ข้อมูล);
// ดำเนินการ postmethod
Int StatusCode = 0;
พยายาม {
statusCode = httpClient.executemethod (postmethod);
} catch (httpexception e) {
// todo catch block ที่สร้างอัตโนมัติ
E.PrintStackTrace ();
} catch (ioexception e) {
// todo catch block ที่สร้างอัตโนมัติ
E.PrintStackTrace ();
-
// httpClient ไม่สามารถจัดการการส่งต่อสำหรับคำขอที่ต้องใช้บริการที่ตามมาเช่นโพสต์และใส่โดยอัตโนมัติ
// 301 หรือ 302
if (statusCode == httpstatus.sc_moved_permanently || statuscode == httpstatus.sc_moved_temporary)
-
// นำที่อยู่ของพวงมาลัยออกมาตั้งแต่ต้น
Header Locationheader = postmethod.getResponseHeader ("ตำแหน่ง");
สตริงตำแหน่ง = null;
if (locationheader! = null) {
สถานที่ = LocationHeader.getValue ();
System.out.println ("หน้าถูกเปลี่ยนเส้นทางไปยัง:" + ตำแหน่ง);
-
อื่น {
System.err.println ("ค่าฟิลด์ตำแหน่งเป็นโมฆะ");
-
กลับ;
-
อื่น
-
System.out.println (postmethod.getStatusline ());
string str = "";
พยายาม {
str = postmethod.getResponseBodyString ();
} catch (ioexception e) {
// todo catch block ที่สร้างอัตโนมัติ
E.PrintStackTrace ();
-
System.out.println (str);
-
postmethod.releaseconnection ();
กลับ ;
-
-
// นี่คือข้อมูลการเข้าสู่ระบบของกระบวนการตรวจสอบผู้ใช้
แพ็คเกจขวดที่จำเป็น:
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. Commons-logging-api.jar ในไดเรกทอรี tomcat 5.5/bin ใน tomcat5.5 หรือ http://jakarta.apache.org/site/downloads/downloads_commons-logging.cgi