URLConnection عبارة عن فئة مجردة تحتوي على فئتين فرعيتين مباشرتين: HttpURLConnection وJarURLConnection. فئة أخرى مهمة هي عنوان URL. عادةً ما يمكن لعنوان URL إنشاء مثيل URL يشير إلى عنوان محدد عن طريق تمرير معلمة نوع السلسلة إلى المُنشئ.
يمكن استخدام كل مثيل HttpURLConnection لتقديم طلب واحد، ولكن يمكن للمثيلات الأخرى مشاركة اتصال الشبكة الأساسي بخادم HTTP بشفافية. يؤدي استدعاء طريقة الإغلاق () على InputStream أو OutputStream لـ HttpURLConnection بعد الطلب إلى تحرير موارد الشبكة المرتبطة بهذا المثيل، ولكن ليس له أي تأثير على الاتصال المستمر المشترك. إذا كان الاتصال المستمر خاملاً عند استدعاء قطع الاتصال () فقد يتم إغلاق المقبس الأساسي.
package com.newflypig.demo;/** * استخدم HttpURLConnection الذي يأتي مع jdk لإرسال طلب POST إلى عنوان URL وإخراج نتيجة الاستجابة * يتم تمرير المعلمات باستخدام التدفقات ويتم ترميزها بشكل ثابت في تنسيق السلسلة "name" =XXX" */import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLEncoder;public class SendPostDemo { public static void main(String[] args) throws Exception{ String urlPath = new String("http://localhost: 8080/Test1/HelloWorld"); //String urlPath = new String("http://localhost:8080/Test1/HelloWorld?name=DingDing".getBytes("UTF-8")); String param="name="+URLEncoder.encode("DingDing",UTF-8 "); // إنشاء عنوان URL للاتصال url=new URL(urlPath); HttpURLConnection httpConn=(HttpURLConnection)url.openConnection(); // تعيين المعلمات httpConn.setDoOutput(true); // تحتاج إلى إخراج httpConn.setDoInput(true); // تحتاج إلى إدخال httpConn.setUseCaches(false); // لا تسمح بالتخزين المؤقت httpConn.setRequestMethod("POST"); // تعيين اتصال POST // تعيين خصائص الطلب httpConn.setRequestProperty("Content-Type"، "application/x-www-form-urlencoded"); httpConn.setRequestProperty("Connection", "Keep-Alive");// الحفاظ على اتصال طويل httpConn.setRequestProperty("Charset", "UTF-8"); //Connect، يمكنك أيضًا استخدام httpConn التالي بدون نص واضح Connect.getOutputStream() سوف يتصل تلقائيًا بـ httpConn.connect(); // إنشاء دفق إدخال وتمرير المعلمة DataOutputStream dos=new إلى عنوان URL المشار إليه. DataOutputStream(httpConn.getOutputStream()); dos.writeBytes(param); dos.flush(); // احصل على حالة الاستجابة int resultCode=httpConn.getResponseCode(); resultCode ){ StringBuffer sb=new StringBuffer(); String readLine=new String(); BufferedReader ResponseReader=new BufferedReader(new InputStreamReader(httpConn.getInputStream(),"UTF-8")); while((readLine=responseReader.readLine())!=null){ sb.append(readLine).append("/ n"); } ResponseReader.Close(); System.out.println(sb.toString()); } }}
تستخدم JAVA HttpURLConnection لإرسال بيانات POST في شكل دفق OutputStream.
أثناء عملية الترميز المحددة، يتم إرسال المعلمات في شكل سلسلة "name=XXX"
تم وصف المحتوى أعلاه في هذه المقالة وآمل أن تكون هذه المقدمة مفيدة للجميع.