نظرة عامة على اتصال HTTP
الاتصالات HTTP لديها طريقتان للنشر والحصول. السابق يرسل البيانات إلى الخادم من خلال كيان رسالة HTTP ، وهو أمر آمن للغاية وليس له حجم نقل البيانات. النص ومع ذلك ، فإن طلب GET غير مستعد -يتم استخدام طلب GET في الغالب للاستعلام (قراءة الموارد) ، وهو ما هو فعال. يتم استخدام طلبات النشر لعمليات الأمان العالية مثل التسجيل وتسجيل الدخول وكتابة البيانات إلى قاعدة البيانات.
بالإضافة إلى النشر والحصول ، هناك طرق أخرى للتواصل مع HTTP! يرجى الرجوع إلى طريقة طلب HTTP
التحضير قبل الترميز
قبل تنفيذ الترميز ، نقوم أولاً بإنشاء servlet ، والذي يتلقى معلمات العميل (الاسم والعمر) ويستجيب للعميل.
webservlet (urlpatterns = {"/demo.do"}) ") الخدمة عن طريق GET. يلقي servicetException ، ioException f-8 ") ؛ reponse.setContentType (" text/html ؛ charset = utf-8 ") ؛ string name = request. getParameter (" name ") ؛ ؛}}
استخدم JDK لتنفيذ اتصال HTTP
استخدم urlconnection لتنفيذ طلبات الحصول على
فحص كائن java.net.url ؛
احصل على java.net.urlconnection من خلال طريقة openconnection () لكائن url ؛
الحصول على دفق الإدخال من خلال طريقة getInputStream () لكائن urlconnection ؛
اقرأ دفق الإدخال ؛
موارد إغلاق.
public void get () {url url = url الجديد ("http://127.0.0.1/http/demo.name=jack=10") New BufferReader (New InportStreamReader (urlConnection.getInputStream () ، "UTF-8") ؛ ) {sb.append (line + "/n") ؛} system.out.println (sb.toString ()) ؛}
استخدم httpurlconnection لتنفيذ طلب النشر
java.net.httpurlconnection هي فئة فرعية من java.net.url ، وتوفير المزيد من العمليات على HTTP (طرق getxxx و setxxx). تحدد هذه الفئة سلسلة من رموز حالة HTTP:
Public Void Post () {url url = url new ("http: //127.0.0.1/http/demo.do") ؛ setDooutput (True) (httpurlconnection.getOutputStream)) ؛ Flush () ؛ ) {// قراءة البيانات sb.append (السطر + "/n") ؛} system.out.println (sb.toString ()) ؛}
استخدم httpclient لاتصال HTTP
HttpClient يبسط بشكل كبير تنفيذ اتصال HTTP في JDK.
اعتماد مافن:
<Rependency> <roupeD> org.apache.httpcomponents </groupId> <StifactId> httpclient </shintifactid> <الإصدار> 4.3.6 </version> </rependency>
احصل على الطلب
public void httpclientget () يلقي الاستثناء {// إنشاء كائن httpclient httpclient client = httpclients.createdefault () ؛ 40 ") ؛ // استدعاء طريقة التنفيذ لكائن httpclient للحصول على استجابة httpresponse = client.execute (get) ؛ // call httpresponse. ) ؛
طلب النشر
public void httppclientpost () يلقي الاستثناء {// إنشاء httpclient كائن httpclient client = httpclients.createdefault () ؛ ؛ SAN ")) ؛ Parameters.Add (New BasicNameValuePair (" Age "،" 25 ")) ؛ وتحويله إلى سلسلة httpresponse = client.execute (post) ؛ ؛}
HTTPCLIENT هو مشروع فرعي تحت Apache Jakarta Common لتوفير مجموعات أدوات فعالة وأحدث وأحدث للميزات التي تدعم بروتوكول HTTP ، ويدعم أحدث الإصدارات واقتراحات بروتوكول HTTP. تم تطبيق HTTPCLIENT على العديد من المشاريع ، مثل المشروعين المعروفين بشكل جيد مفتوح المصدر على Apache Jakarta Cactus و HTMLUnit كلا من httpclient.