ایمان ریحانیان

دست خط یک برنامه نویس

ایمان ریحانیان

دست خط یک برنامه نویس

ایمان ریحانیان

زکات علم یاد دادن آن به دیگران است، کمک کنیم که علم گسترش یابد.

طبقه بندی موضوعی

فرستادن درخواست HTTP و گرفتن جواب

پنجشنبه, ۶ مهر ۱۳۹۱، ۰۹:۴۹ ق.ظ

سلام

 

مطلب امروز در مورد خواندن صفحه وب با استفاده از کلاس های جاوا و بدون استفاده از API خاصی است که امیدوارم مفید واقع شود.

 


import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;

public class Main {
public static void main(String[] args) {
try {
URL url = new URL("http://blog.reihanian.com/");
BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
String strTemp = "";
while(null != (strTemp = br.readLine())){
System.out.println(strTemp);
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}



با استفاده از این نمونه کد میتوان درخواستی از نوع پروتکل HTTP فرستاد و جواب آنرا دریافت کرد یا به عبارت دیگر یک صفحه وب را خواند.
در خط اول برنامه از کلاس URL استفاده شده است. این کلاس مانند یک اشاره گر به یک منبع در وب میباشد حالا این منبع میتواند یک فایل یا یک دایرکتوری باشد.
در خط بعدی با استفاده از متد ()openStream کانکشنی با آن منبع مشخص شده در کلاس URL برقرار میکند و آنرا میخواند و یک کلاس InputStream برمیگرداند.
از این مرحله به بعد همانند خواندن داده از یک فایل رفتار میکنیم.
و در مرحله بعد از کلاس InputStreamReader مانند پلی داده های باتی را به داده هایی از نوع کاراکتر تبدیل میکند.
و در مرحله بعدی کلاس BufferedReader داده های کاراکتری را برای دسترسی بهتر و سریعتر buffer میکند.
و در نهایت با استفاده از حلقه while داده ها را از buffer بصورت خطی میخواند و آنها را در متغییر strTemp ذخیره میکند و در console برنامه چاپ میکند.
کل مجموعه کد در بلوک try - catch قرار دارد که اگر خطایی رخ داد، خطا شناسایی شود.

موافقین ۰ مخالفین ۰ ۹۱/۰۷/۰۶
ایمان ریحانیان

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی