URLالتوصيل: القراءة من عنوان URL
java.net.URLConnection هي فئة تربط التطبيق بعنوان URL. للحصول على استجابة HTTP ، تحتاج أولا إلى إنشاء اتصال باستخدام عنوان url المكون من خطوتين:- openConnection< / i>: تنشئ هذه الطريقة الكائن connection الذي يقوم بتكوين معلمات الاتصال وتلقي المعلمات.
- URLConnection.connect: ينشئ تفاعلا مع المورد عن طريق بدء الاتصال بين برنامج Java وعنوان url.
تنشئ التعليمة البرمجية التالية اتصالا بموقع http:// www.codeurjava.com.
URL url=null;يتم إنشاء كائن URLConnection في كل مرة يتم فيها إجراء الاتصال باستخدام openConnection(). الآن بعد أن تم إنشاء الاتصال بنجاح ، يمكنك استخدام URLConnection للقراءة والكتابة إلى عنوان url باستخدام InputStream و outputStream.
try {
url = عنوان URL جديد ("http://www.codeurjava.com");
} catch (MalformedURLException e) {
// TODO كتلة الصيد التي تم إنشاؤها تلقائيا
e.printStackTrace ();
}
try {
URLConnection con = url.openConnection();
in.close ();
} الصيد (IOException e1) {
// TODO كتلة الصيد التي تم إنشاؤها تلقائيا
e.printStackTrace();
}
Read from URLConnection
يسترد هذا البرنامج كائن inputStream ، ويتم فتح الاتصال باستخدام طريقة getInputStream () ، ثم يقوم بإنشاء BufferedReader على InputStream ويقرأ المحتويات. سطرا سطرا مع طريقة readline() التي نحتاجها لتحميلها في متغير من النوع String.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
عنوان URL للفئة العامة ، مثال على ذلك: {
الفراغ الثابت العام الرئيسي (سلسلة [] args) {
مضيف السلسلة = "http://www.codeurjava.com/" ؛
URL aURL = null ؛
كود السلسلةHTML = "";
جرب {
aURL = عنوان URL جديد (مضيف) ؛
//open connection
URLConnection con = aURL.openConnection();
// الحد الأقصى للوقت المخصص للاتصال
con.setConnectTimeout (60000) ؛
// الحد الأقصى للوقت المخصص للقراءة
con.setReadTimeout (60000) ؛
// قراءة دفق مع ترميز أحرف UTF-8 < br / > BufferedReader in = BufferedReader جديد (
جديد InputStreamReader (
con.getInputStream () ، "UTF-8") ؛
خط إدخال السلسلة ؛
while((inputline = in.readLine ())!=null){
//concatenation+newline with \n
HTML code += inputline+"\n";
}
// يجب إغلاق دفق التشغيل
in.close();
} catch (IOException e1) {
// TODO كتلة الصيد التي تم إنشاؤها تلقائيا
e.printStackTrace();
}
System.out.println(codeHTML);
}
}
< / pre>< / div>Result
< / >< رئيس> < / >< العنوان> دروس وأمثلة تطوير JAVA < / > < / > < / > < / >< / رأس> < / >< / شعبة > < / >< / شعبة >
< / pre>< / div> هذا الرمز يسترجع كود HTML في Java. إذا عرض البرنامج رسالة خطأ ، فهذا يعني أن البرنامج لم يتمكن من العثور على الخادم أو لا يمكن الوصول إلى عنوان url. في برنامجنا ، قمنا ببرمجة الحد الأقصى للوقت المسموح به للاتصال والتشغيل ليكون 6 ثوان. بعد هذا الوقت، يتوقف البرنامج.
مراجع
Oracle: عنوان URL للفئة: openConnection
upenn: Class java.net.URLConnection
StackOverFlow: استخدام java.net.URLConnection لإطلاق ومعالجة طلبات HTTP?