หนึ่ง.
1. เขียนคลาสเครื่องมือ HTTPREQUESTUTILS รวมถึงคำขอโพสต์และรับคำขอ
แพ็คเกจ com.brainlong.framework.util.httpClient; นำเข้า net.sf.json.jsonobject; นำเข้า org.apache.commons.httpclient.httpstatus; นำเข้า org.apache.http.httpresponse; นำเข้า org.apache.http.client.methods.httpget; org.apache.http.entity.stringentity; นำเข้า org.apache.http.impl.client.defaulthttpClient; นำเข้า org.apache.http.util.entityutils; นำเข้า org.slf4j.logger; นำเข้า java.io.ioException; นำเข้า java.net.urldecoder; คลาสสาธารณะ httprequestutils {ตัวบันทึก logger แบบคงที่ส่วนตัว = loggerFactory.getLogger (httprequestutils.class); // log/** * httppost * @param url path * @param jsonparam พารามิเตอร์ * @return */สาธารณะคงที่ jsonobject httppost (สตริง url, jsonobject jsonparam) {return httppost (url, jsonparam, เท็จ); } /*** คำขอโพสต์* @param url url ที่อยู่* @param jsonparam พารามิเตอร์* @param noneedResponse ไม่จำเป็นต้องส่งคืนผลลัพธ์* @return* /สาธารณะคงที่ JsonObject httppost (สตริง url, jsonobject jsonparam, boolean defaulthttpClient (); jsonObject jsonResult = null; วิธี httppost = new httppost (url); ลอง {ถ้า (null! = jsonparam) {// แก้ปัญหาความเข้มงวดของจีนที่อ่านไม่ออก entity = ใหม่ที่เข้มงวด (jsonparam.toString (), "UTF-8"); entity.setContentEncoding ("UTF-8"); Entity.SetContentType ("Application/JSON"); method.setEntity (เอนทิตี); } httPresponse result = httpClient.execute (วิธีการ); url = urldecoder.decode (url, "UTF-8"); / ** คำขอถูกส่งสำเร็จและได้รับการตอบกลับ **/ if (result.getStatusLine (). getStatusCode () == 200) {String str = ""; ลอง { / ** อ่านข้อมูลสตริง JSON ที่ส่งคืนโดยเซิร์ฟเวอร์ ** / str = entityUtils.toString (result.get.getEntity ()); if (noneedResponse) {return null; } / ** แปลงสตริง JSON เป็นวัตถุ JSON ** / jsonResult = jsonObject.FromObject (str); } catch (ข้อยกเว้น e) {logger.error ("การส่งคำขอโพสต์ล้มเหลว:" + url, e); }}} catch (ioexception e) {logger.error ("การส่งคำขอโพสต์ล้มเหลว:" + url, e); } return jsonResult; } /*** ส่งคำขอรับ* @param URL PATH* @return* /สาธารณะคงที่ jsonObject httpget (url สตริง) {// รับคำขอส่งคืนผลลัพธ์ jsonObject jsonResult = null; ลอง {defaulthttpClient client = ใหม่ defaulthttpClient (); // ส่งคำขอ httpget คำขอ = new httpget (url); httPresponse response = client.execute (คำขอ); / ** คำขอถูกส่งสำเร็จและได้รับการตอบกลับ **/ if (response.getStatusline (). getStatusCode () == httpstatus.sc_ok) {/ ** อ่านข้อมูลสตริง JSON ที่ส่งคืนโดยเซิร์ฟเวอร์ **/ strresult = entityUtils.tostring / ** แปลงสตริง JSON เป็นวัตถุ JSON **/ jsonResult = jsonObject.FromObject (strresult); url = urldecoder.decode (url, "UTF-8"); } else {logger.error ("รับการส่งคำขอล้มเหลว:" + url); }} catch (ioexception e) {logger.error ("รับคำขอส่งล้มเหลว:" + url, e); } return jsonResult; -2. เขียนรหัสธุรกิจเพื่อส่งคำขอ HTTP
3. ไดเรกทอรีการตั้งค่าไฟล์การกำหนดค่า MVC คอนโทรลเลอร์สแกน
<!-การสแกนอัตโนมัติและสแกนเฉพาะ @Controller-> <บริบท: Component-Scan base-package = "com.wiselong.multichannel" ใช้-default-filters = "false"> <บริบท: include-filter type = "Annotation" expression = "org.springframework.steretype.contoler
4. รับคำขอ HTTP
รับคำขอโพสต์
@controller@requestmapping (value = "/api/platform/exceptioncenter/exceptioninfo") publicclassexceptioninfocontroller {// inject @autowiredprivateExceptionInfobizexceptionInfobiz; ส่วนหัว*@returnjsonObject*/@requestmapping (value = "/create", method = requestMethod.post) PublicModelandViewCreateExceptionInfo (@requestBodyStringRequestbody ct = jsonobject.fromobject (requestbody); comexceptioninfocomexceptioninfo = newcomexceptioninfo (); comexceptioninfo.setprojectName (jsonobject GetString ("ProjectName")); comexceptioninfo.settagname (jsonobject.getString ("ProjectName" ing ("tagname")); exceptioninfobiz.insert (comexceptionInfo); // ส่งคืนผลการร้องขอ jsonobjectresult = newjsonObject (); result.put ("ความสำเร็จ", "true"); returnNewModelandView (""รับคำขอรับ
@controller@requestmapping (value = "/api/platform/messageCenter/message/sms") publicclasssmscontroller {@autowiredsmssdbizsmsssendbiz;/*** รับหมายเลขโทรศัพท์มือถือและเนื้อหา ส่วนหัว*@returnjsonObject*/@requestmapping (value = "/send", method = requestMethod.get) PublicModelandViewSendsms (@requestBodyStringRequestBody, httpservletRequestrequest) {// รับพารามิเตอร์ที่ส่งผ่านคำขอ URL และ URL stringUrl = request.getRequesturl ()+"?"+request.getQueryString (); url = buildRequesturl.decodeurl (url); stringTelephone = requestUtils.getStringValue (คำขอ "โทรศัพท์" e "); stringContent = requestUtils.getStringValue (คำขอ" เนื้อหา "); smssendbiz.insertttmsquququ (โทรศัพท์, เนื้อหา); returnNewModelandView (" ", ResponseUtilShelper.jsonresult (" ", true);}}}}}}สอง.
รับ
importjava.io.bufferedreader; importJava.io.ioException; importJava.io.InputStream; importJava.io.InputStreamReader; importorg.apache.Commons.httpClient.httpClient; org.apache.commons.httpclient.httpmethod; importorg.apache.commons.httpclient.methods.getmethod; tion {// วัตถุคลาสใหม่ httpClientClient = newhttpClient (); // ใช้วิธี GET เพื่อโต้ตอบกับเซิร์ฟเวอร์ URL // httpmethodmethod = newgetMethod ("http://192.168.11.128/bak/regist.php d = 1234567 & re_password = 1234567 & username = admin & nickname = admin "); httpmethodmethod = newgetMethod (" http://192.168.11.128/bak/login.php?username .Executemethod (เมธอด); // ข้อมูลกระแสข้อมูลส่งออก // method.getResponseBodyStream สร้างวัตถุสตรีมไบต์เป็น inputStreamputStreamputStream = method.getResponseBodyStream (); // inputstreamReader (อินพุตสตรีม) bufferedReaderbr = newBufferedReader (newInputStreamReader (inputStream, "UTF-8")); // stringbuffer เป็นตัวแปรสตริงและวัตถุสามารถขยายและแก้ไขเพื่อสร้างสตริงที่ว่างเปล่า fer คลาส object stringbufferstringbuffer = newstringBuffer (); // define string conderst stringstr = "; // การกำหนดสตริง String str String สามารถเพิ่มและแก้ไขเพื่อกำหนดข้อมูล STR ให้กับ StringBufferStringBuffer.Append (str);} // output StringBuffersystem.out.println (StringBuffer.ToString ()); // ปิดวิธีการเชื่อมต่อ httpClientโพสต์
importjava.io.bufferedreader; importJava.io.ioException; importJava.io.InputStream; importJava.io.InputStreamReader; importorg.apache.Commons.httpClient.methods.postMethod; blicstaticvoidmain (string [] args) throwsioexception {httpClientClient = newhttpClient (); postmethodmethod = newPostMethod ("http://192.168.111.128/bak/login_post.php key = valuenamevaluePair [] วันที่ = {newNameValuePair ("ชื่อผู้ใช้", "admin"), newNameValuePair ("รหัสผ่าน", "123457")}; // วิธีใช้วิธีการแบบฟอร์ม inputStreamInputStream = method.getResponseBodyStream (); bufferedReaderBr = newBufferedRead ER (newInputStreamReader (inputStream, "UTF-8")); StringBufferStringBuffer = newStringBuffer (); stringstr = ""; ในขณะที่ ((str = br.readline ())! = null) {stringbuffer.append (str); Method.ReleAseconnection ();}}สาม.
ฉันไม่จำเป็นต้องพูดเพิ่มเติมเกี่ยวกับความสำคัญของโปรโตคอล HTTP เมื่อเทียบกับการเชื่อมต่อ urlconnection ที่มาพร้อมกับ JDK แบบดั้งเดิม HTTPClient จะเพิ่มความสะดวกในการใช้งานและความยืดหยุ่น (ความแตกต่างเฉพาะจะกล่าวถึงในภายหลัง) ไม่เพียง แต่ทำให้ลูกค้าสามารถส่งคำขอ HTTP ได้ง่ายขึ้นเท่านั้น แต่ยังช่วยอำนวยความสะดวกให้กับอินเทอร์เฟซการทดสอบของนักพัฒนา (ตามโปรโตคอล HTTP) ซึ่งปรับปรุงประสิทธิภาพการพัฒนาและช่วยอำนวยความสะดวกให้กับความทนทานของรหัส ดังนั้นจึงเป็นสิ่งสำคัญมากและบังคับใช้หลัก HttpClient หลังจากเรียนรู้ httpclient ฉันเชื่อว่าความเข้าใจของฉันเกี่ยวกับโปรโตคอล HTTP จะลึกซึ้งยิ่งขึ้น
1. บทนำ
HttpClient เป็นโครงการย่อยภายใต้ Apache Jakarta Common เพื่อให้ชุดเครื่องมือการเขียนโปรแกรมไคลเอ็นต์ที่มีประสิทธิภาพล่าสุดและมีคุณสมบัติล่าสุดที่รองรับโปรโตคอล HTTP และรองรับเวอร์ชันล่าสุดและคำแนะนำของโปรโตคอล HTTP HttpClient ถูกนำมาใช้ในหลายโครงการเช่นโครงการโอเพนซอร์สที่รู้จักกันดีอีกสองโครงการใน Apache Jakarta, Cactus และ Htmlunit ทั้งคู่ใช้ HttpClient
2. ลักษณะ
1. ภาษาจาวาที่ใช้มาตรฐานตามมาตรฐาน ใช้งาน http1.0 และ http1.1
2. วิธี HTTP ทั้งหมด (รับ, โพสต์, ใส่, ลบ, หัว, ตัวเลือกและการติดตาม) ถูกนำมาใช้ในโครงสร้างเชิงวัตถุที่ขยายได้
3. สนับสนุนโปรโตคอล HTTPS
4. สร้างการเชื่อมต่อที่โปร่งใสผ่านพร็อกซี HTTP
5. ใช้วิธีการเชื่อมต่อเพื่อสร้างการเชื่อมต่อ HTTPS กับอุโมงค์ผ่านพร็อกซี HTTP
6. BASIC, DIGEST, NTLMV1, NTLMV2, เซสชัน NTLM2, SNPNEGO/KERBEROS โครงการรับรอง
7. โซลูชันการรับรองความถูกต้องแบบกำหนดเองปลั๊กอิน
8. โรงงานซ็อกเก็ตแบบพกพาและเชื่อถือได้ทำให้ง่ายต่อการใช้โซลูชันของบุคคลที่สาม
9. ตัวจัดการการเชื่อมต่อรองรับแอปพลิเคชันหลายเธรด รองรับการตั้งค่าจำนวนการเชื่อมต่อสูงสุดและยังรองรับการตั้งค่าจำนวนสูงสุดของการเชื่อมต่อต่อโฮสต์การค้นพบและปิดการเชื่อมต่อที่หมดอายุ
10. จัดการคุกกี้โดยอัตโนมัติในชุดสัตว์
11. นโยบายคุกกี้ที่กำหนดเองปลั๊กอิน
12. กระแสเอาต์พุตของคำขอสามารถป้องกันเนื้อหาของสตรีมจากการถูกบัฟเฟอร์โดยตรงไปยังเซิร์ฟเวอร์ซ็อกเก็ต
13. สตรีมอินพุตของการตอบสนองสามารถอ่านเนื้อหาที่เกี่ยวข้องได้อย่างมีประสิทธิภาพโดยตรงจากเซิร์ฟเวอร์ซ็อกเก็ต
14. เชื่อมต่ออย่างต่อเนื่องกับ Keepalive ใน http1.0 และ http1.1
15. รับรหัสตอบกลับและส่วนหัวที่ส่งโดยเซิร์ฟเวอร์โดยตรง
16. ตั้งค่าความสามารถในการหมดเวลาการเชื่อมต่อ
17. การสนับสนุนการทดลองสำหรับการแคชตอบสนอง http1.1
18. ซอร์สโค้ดสามารถใช้ได้ฟรีตามใบอนุญาต Apache
3. วิธีใช้
มันง่ายมากที่จะใช้ httpClient เพื่อส่งคำขอและรับคำตอบและโดยทั่วไปต้องใช้ขั้นตอนต่อไปนี้
1. สร้างวัตถุ HTTPClient
2. สร้างอินสแตนซ์ของวิธีการร้องขอและระบุ URL คำขอ หากคุณต้องการส่งคำขอ GET ให้สร้างวัตถุ HTTPGET หากคุณต้องการส่งคำขอโพสต์ให้สร้างวัตถุ HTTPPOST
3. หากคุณต้องการส่งพารามิเตอร์คำขอคุณสามารถโทรหาวิธีการ setParams (hetpparams params) ทั่วไปไปยัง HTTPGET และ HTTPPOST เพื่อเพิ่มพารามิเตอร์คำขอ สำหรับวัตถุ HTTPPOST คุณยังสามารถเรียกใช้เมธอด SetEtEntity (HTTPENTITY Entity) เพื่อตั้งค่าพารามิเตอร์การร้องขอ
4. โทรหาการดำเนินการ (คำขอ httpurirequest) ของวัตถุ HTTPClient เพื่อส่งคำขอและวิธีนี้จะส่งคืน httpresponse
5. การเรียก GetAllheaders ของ httpresponse (), getheaders (ชื่อสตริง) และวิธีการอื่น ๆ สามารถรับส่วนหัวการตอบกลับของเซิร์ฟเวอร์; การเรียกวิธีการ httpresponse ของ getEntity () สามารถรับวัตถุ httpentity ซึ่งห่อเนื้อหาการตอบกลับของเซิร์ฟเวอร์ โปรแกรมสามารถรับเนื้อหาการตอบกลับของเซิร์ฟเวอร์ผ่านวัตถุนี้
6. ปล่อยการเชื่อมต่อ การเชื่อมต่อจะต้องได้รับการปล่อยตัวโดยไม่คำนึงว่าวิธีการดำเนินการจะสำเร็จหรือไม่
iv. ตัวอย่าง
แพ็คเกจ com.test; นำเข้า Java.io.File; นำเข้า Java.io.FileInputStream; นำเข้า java.io.ioException; นำเข้า java.io.unsupportencodingexception; นำเข้า Java.security.KeyManagementException; นำเข้า java.security.keystore; นำเข้า java.security.keystoreexception; นำเข้า java.security.nosuchalgorithmexception; นำเข้า java.security.cert.certificateException; นำเข้า java.util.arraylist; นำเข้า java.util.list; นำเข้า javax.net.ssl.sslcontext; นำเข้า org.apache.http.htttentity; นำเข้า org.apache.http.namevaluePair; นำเข้า org.apache.http.parseException; นำเข้า org.apache.http.client.clientprotocolexception; นำเข้า org.apache.http.client.entity.urlencodedformentity; นำเข้า org.apache.http.client.methods.closeablehttpresponse; นำเข้า org.apache.http.client.methods.httpget; นำเข้า org.apache.http.client.methods.httppost; นำเข้า org.apache.http.conn.ssl.sslconnectionsocketFactory; นำเข้า org.apache.http.conn.ssl.sslcontexts; นำเข้า org.apache.http.conn.ssl.trustselfsignedstrategy; นำเข้า org.apache.http.entity.contenttype; นำเข้า org.apache.http.entity.mime.multipartentitybuilder; นำเข้า org.apache.http.entity.mime.content.filebody; นำเข้า org.apache.http.entity.mime.content.stringbody; นำเข้า org.apache.http.impl.client.closeablehttpClient; นำเข้า org.apache.http.impl.client.httpclients; นำเข้า org.apache.http.impl.client.httpclients; นำเข้า org.apache.http.message.basicnamevaluepair; นำเข้า org.apache.http.util.entityutils; นำเข้า org.junit.test; ชั้นเรียนสาธารณะ httpClientTest {@Test โมฆะสาธารณะ junittest () {get (); } / ** * การเชื่อมต่อ httpClient ssl * / โมฆะสาธารณะ ssl () {closeablehttpclient httpClient = null; ลอง {KeyStore TrustStore = KeyStore.getInstance (keystore.getDefaultType ()); fileInputStream instream = new FileInputStream (ไฟล์ใหม่ ("D: //tomcat.keystore")); ลอง {54. // โหลดคีย์สโตร์ d: //tomcat.keystore truststore.load (instream, "123456" .tochararray ()); } catch (CertificateException E) {E.PrintStackTrace (); } ในที่สุด {ลอง {enterstream.close (); } catch (ข้อยกเว้นละเว้น) {}} // เชื่อถือ CA ของคุณเองและใบรับรองที่ลงนามด้วยตนเองทั้งหมด sslContext sslContext = sslContexts.custom (). loadTrustMaterial (TrustStore, New TrustSelfSignEdStRateGy ()) // ใช้เฉพาะโปรโตคอล TLSV1 SSLCONNECTIONSOCKETFACTORY SSLSF = SSLCONNECTIONSOCKETFACTORY ใหม่ (SSLCONTEXT, สตริงใหม่ [] {"TLSV1"}, NULL, SSLCONNECTIONSOCTOUSH.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER); httpClient = httpClients.custom (). setsslsocketfactory (SSLSF) .build (); // สร้างคำขอ http (รับเมธอด) httpget httpget = ใหม่ httpget ("https: // localhost: 8443/mydemo/ajax/serivcej.action"); System.out.println ("การดำเนินการคำขอ" + httpget.getRequestline ()); การตอบสนองแบบ closeablehtpresponse = httppClient.execute (httpget); ลอง {httpentity entity = response.getEntity (); System.out.println ("----------------------------------------"); System.out.println (Response.getStatusline ()); if (เอนทิตี! = null) {system.out.println ("ความยาวเนื้อหาตอบกลับ:" + entity.getContentLength ()); System.out.println (entityutils.toString (เอนทิตี)); Entityutils.consume (เอนทิตี); }} ในที่สุด {response.close (); }} catch (parseexception e) {e.printstacktrace (); } catch (ioexception e) {e.printstacktrace (); } catch (keyManagementException e) {e.printStackTrace (); } catch (nosuchalgorithmexception e) {e.printstacktrace (); } catch (keystoreexception e) {e.printstacktrace (); } ในที่สุด {ถ้า (httpClient! = null) {ลอง {httpClient.close (); } catch (ioexception e) {e.printstacktrace (); }}}}} / ** * ส่งแบบฟอร์มในโพสต์ (จำลองการร้องขอการเข้าสู่ระบบของผู้ใช้) * / โมฆะสาธารณะ postform () {// สร้างอินสแตนซ์ httpClient เริ่มต้น closeablehttpClient httpClient = httpClients.createdefault (); // สร้าง httppost httppost httppost = ใหม่ httppost ("http: // localhost: 8080/mydemo/ajax/serivcej.action"); // สร้างรายการคิวพารามิเตอร์ <NameValuePair> forparams = arrayList ใหม่ <NameValuePair> (); FormParams.add (ใหม่ BasicNameValuePair ("ชื่อผู้ใช้", "admin")); FormParams.add (ใหม่ BasicNameValuePair ("รหัสผ่าน", "123456")); urlencodedformentity uefentity; ลอง {ueFentity = ใหม่ urlencodedFormentity (formParams, "UTF-8"); httppost.setEntity (uefentity); System.out.println ("การดำเนินการคำขอ" + httppost.geturi ()); การตอบสนองแบบ closeablehtpResponse = httpClient.execute (httppost); ลอง {httpentity entity = response.getEntity (); if (entity! = null) {system.out.println ("----------------------------------"); System.out.println ("เนื้อหาตอบกลับ:" + entityutils.toString (เอนทิตี, "UTF-8")); System.out.println ("----------------------------------"); }} ในที่สุด {response.close (); }} catch (clientprotocolexception e) {e.printstacktrace (); } catch (unsupportencodingexception e1) {e1.printstacktrace (); } catch (ioexception e) {e.printstacktrace (); } ในที่สุด {// ปิดการเชื่อมต่อและปล่อยทรัพยากรลอง {httpClient.close (); } catch (ioexception e) {e.printstacktrace (); }}} / *** ส่งคำขอโพสต์เพื่อเข้าถึงแอปพลิเคชันท้องถิ่นและส่งคืนผลลัพธ์ที่แตกต่างกันตามพารามิเตอร์ที่ผ่าน* / โมฆะสาธารณะโพสต์ () {// สร้างอินสแตนซ์ httpClient เริ่มต้น closeablehttpClient httpplient = httpClients.createdefault (); // สร้าง httppost httppost httppost = ใหม่ httppost ("http: // localhost: 8080/mydemo/ajax/serivcej.action"); // สร้างรายการคิวพารามิเตอร์ <NameValuePair> forparams = arrayList ใหม่ <NameValuePair> (); forams.add (ใหม่ BasicNameValuePair ("type", "House")); urlencodedformentity uefentity; ลอง {ueFentity = ใหม่ urlencodedFormentity (forparams, "UTF-8"); httppost.setEntity (uefentity); System.out.println ("การดำเนินการคำขอ" + httppost.geturi ()); การตอบสนองแบบ closeablehtpResponse = httpClient.execute (httppost); ลอง {httpentity entity = response.getEntity (); if (entity! = null) {system.out.println ("----------------------------------"); System.out.println ("เนื้อหาตอบกลับ:" + entityutils.toString (เอนทิตี, "UTF-8")); System.out.println ("----------------------------------"); }} ในที่สุด {response.close (); }} catch (clientprotocolexception e) {e.printstacktrace (); } catch (unsupportencodingexception e1) {e1.printstacktrace (); } catch (ioexception e) {e.printstacktrace (); } ในที่สุด {// ปิดการเชื่อมต่อและปล่อยทรัพยากรลอง {httpClient.close (); } catch (ioexception e) {e.printstacktrace (); }}} / *** ส่งคำขอรับ* / โมฆะสาธารณะ get () {closeablehttpClient httpClient = httpClients.createdefault (); ลอง {// สร้าง httpget httpget httpget = ใหม่ httpget ("http://www.baidu.com/"); System.out.println ("การดำเนินการคำขอ" + httpget.geturi ()); // ดำเนินการตามคำขอ GET การตอบสนองแบบ closeablehtpresponse = httpClient.execute (httpget); ลอง {// รับเอนทิตีตอบกลับ httpentity entity = response.getEntity (); System.out.println ("---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ความยาวของเนื้อหา OUT.PRINTLN ("การตอบสนองความยาวเนื้อหา:" + Entity.GetContentLength ()); System.out.println ("-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - } catch (ioexception e) {e.printstacktrace (); } ในที่สุด {// ปิดการเชื่อมต่อและปล่อยทรัพยากรลอง {httpClient.close (); } catch (ioexception e) {e.printstacktrace (); }}} / *** อัปโหลดไฟล์* / โมฆะสาธารณะอัพโหลด () {closeablehttpClient httpClient = httpClients.createdefault (); ลอง {httppost httppost = new httppost ("http: // localhost: 8080/mydemo/ajax/serivcefile.action"); filebody bin = filebody ใหม่ (ไฟล์ใหม่ ("f: //image//sendpix0.jpg")); stringbody comment = new Stringbody ("ไฟล์ไบนารีบางชนิด", contentType.text_plain); httpentity reqentity = multipartentitybuilder.create (). addpart ("bin", bin) .addpart ("ความคิดเห็น", ความคิดเห็น). build (); httppost.setEntity (reqentity); System.out.println ("การดำเนินการคำขอ" + httppost.getRequestline ()); การตอบสนองแบบ closeablehtpResponse = httpClient.execute (httppost); ลอง {system.out.println ("------------------------------------"); System.out.println (Response.getStatusline ()); httpentity resentity = response.getEntity (); if (resentity! = null) {system.out.println ("ความยาวเนื้อหาตอบกลับ:" + resentity.getContentLength ()); } entityutils.consume (ความไม่พอใจ); } ในที่สุด {response.close (); }} catch (clientprotocolexception e) {e.printstacktrace (); } catch (ioexception e) {e.printstacktrace (); } ในที่สุด {ลอง {httpClient.close (); } catch (ioexception e) {e.printstacktrace (); }}}}}} </namevaluePair> </namevaluePair> </namevaluePair>ตัวอย่างง่ายๆข้างต้นของกระบวนการส่งคำขอ HTTPClient และการรับผลการร้องขอใน Java เป็นเนื้อหาทั้งหมดที่ฉันแบ่งปันกับคุณ ฉันหวังว่าคุณจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น