در این جلسه تیم کدگیت را با آموزش دریافت هدر HTTP در جاوا همراهی کنید. پیش نیاز این آموزش شامل موارد زیر است:
- مدیریت استثنا
- آشنایی با شی گرایی
- آشنایی با Map
- آشنایی با For
- آشنایی با کلاس URL و URLConnection
- آشنایی با Generic
- آشنایی با List
هدر HTTP
سرآیندهای پروتکل انتقال ابرمتن یا فیلدهای سرآیند (به انگلیسی: HTTP Header Fields) جزیی از پیامهای ارسالی و دریافتی در پروتکل انتقال ابرمتن (HTTP) میباشند. این فیلدها پارامترهای یک ارتباط در این پروتکل را مشخص و مقداردهی میکنند.
فیلدهای سرآیند بعد از خطِ وضعیت (اولین خط هر پیام) ارسال میشوند. این فیلدها به صورت متن ساده بوده و دارای یک نام یا کلید و یک یا چند مقدار هستند که با علامت کولون ( : ) از هم جدا میشوند. هر خطِ سرآیند میتواند حاوی یک فیلد سرآیند باشد(ویکیپدیا).
دریافت هدر HTTP در جاوا
کلاس URL در جاوا یک آدرس سایت را در خود نگه میدارد و کلاس URLConnection برای ارتباط با وب سایت (URL) است و همچنین با استفاده این کلاس، میتوان اطلاعات یک سایت را دریافت یا اضافه کرد. ما برای دریافت هدر HTTP در جاوا از دو کلاس توضیح داده شده استفاده میکنیم.کد دریافت هدر به صورت زیر میباشد:
public static void main(String[] args) {
URL obj;
URLConnection conn = null;
try {
obj = new URL("http://google.com");
conn = obj.openConnection();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// get all headers
Map<String, List<String>> map = conn.getHeaderFields();
for (Map.Entry<String, List<String>> entry : map.entrySet()) {
System.out.println("Key : " + entry.getKey() + " ,Value : "
+ entry.getValue());
}
}
همانطور که در کد بالا میبینید یک شی از کلاس URL را ساختیم و با استفاده متد openconnection اطلاعات وبسایت Google را دریافت کردیم. در آخر با استفاده از متد getHeaderFields ، هدر HTTP را دریافت کردیم و در یک حلقه For آنها را نمایش دادیم. قسمتی از خروجی:
Key : null ,Value : [HTTP/1.0 —–]
Key : Server ,Value : [——]
Key : Connection ,Value : [——]