-->

دروس Java : صنع برنامج protcol tester

2 minute read

+ التعامل مع الشبكات JAVA الجزء الثاني



الان بعد صنع برنامج في الجزء الاول في سلسلة التعامل مع الشبكات بلغة الجافا وهو كان عبارة عن برنامج DNS LOokUp
اراد جمهور المدونة بان نستكمل هذه الدروس فقررت ان اناقش معكم اليوم فكرة برنامج فحص البروتكولات وهو ايضا يستخدم في مجال جمع المعلومات والحماية بشكل كبير ولكن هذه الفكرة جزء مصغر من هذا البرنامج الذي يستطيع ان يحدد ما هو نوع البروتكولات التي يستخدمها مواقع الانترنت او السيرفرات .

سنقوم باستعمال المكتبة الخاصة بالشبكات الخاصة باللغة اول خطوة هي استدعاء المكاتب التي سنستخدمها :

import java.net.URL;  

بعد ذلك نقوم باستخدمام متغيرات من نوع String
حتي يقوم بتخزين الموقع الذي نريد عمل له فحص وليكن موقع facebook.com ثم نقوم بتخزينه بمتغير يسمي FB ثم ننشاء متغير اخر ونقوم بتخزين به المسار الرئيسي للموقع " / " وليكن اسم المتغير indexPath ثم نقوم باستخدام مصفوفة من نوع String لكي تخزن جميع اسماء البروتكولات التي نبحث عنها داخل الموقع .



 String FB = "www.facebook.com";
 String indexPath = "/"; // path of pages
		
  String[] protocols = 
		{"http","https","ftp","ftps","tenlent","file","mailto","jdbs"};  

وبعد القيام بهذه الخطوات البسيطة نصنع حلقة تكرارية loop حتي تقوم باستخدام كل نوع بروتكول مع رابط الموقع كل مرة .
ولكن سنحتاج الي استخدام try_catch حتي نتفادي الاخطاء التي يمكن ان تظهر لنا لأننا لا نعرف ما الرد الذي سياتي الينا من الموقع .



	for (int i = 0; i < protocols.length; i++) {
			try {
				URL tester = new URL(protocols[i], FB, indexPath);
				System.out.println(protocols[i] + " IS Supported (^-^) ");
			} catch (Exception e) {
				System.out.println(protocols[i] + " IS NOT supported (-_-) ");
			}
			
			
		}  

لقد اضفنا كل عنصر من المصفوفة الي الدالة URL حتي تكون المقطع الاول من الرابط ثم قمنا باضافة المتغير المخزن بداخله الرابط  FB
ثم قمنا بادخال المسار الاخير في الرابط .

ملحوظة : يمكنك الاستغناء عن اخر متغير وهو indexPath في بعض الحالات ولكن اذا احتوي الموقع علي index.htm يجب ان تضعها بحيث تسطيع معرفة الرابط بالكامل.

اذا سيكون الناتج كالاتي :

http IS Supported (^-^)
https IS Supported (^-^)
ftp IS Supported (^-^)
ftps IS NOT supported (-_-)
tenlent IS NOT supported (-_-)
file IS Supported (^-^)
mailto IS Supported (^-^)
jdbs IS NOT supported (-_-)

الكود بالكامل :

import java.net.URL;
public class protocolTester {
	public static void main(String[] args) {
		// facebook url
		String FB = "www.facebook.com";
		String indexPath = "/"; // path of pages
		
		String[] protocols = 
				{"http","https","ftp","ftps","tenlent","file","mailto","jdbs"};
		for (int i = 0; i < protocols.length; i++) {
			try {
				URL tester = new URL(protocols[i], FB, indexPath);
				System.out.println(protocols[i] + " IS Supported (^-^) ");
			} catch (Exception e) {
				System.out.println(protocols[i] + " IS NOT supported (-_-) ");
			}
		}
		
	}
}


لقراءة المقالة الخاصة بالجزء الاول : (اضغط هنا (^-^) )