জেসুপ (JSoup) লাইব্রেরি মূলত HTML parsing এবং web scraping এর জন্য ব্যবহৃত হয়, তবে এটি HTTP রিকোয়েস্টও পাঠাতে সক্ষম। এইভাবে, জেসুপ HTTP response এবং status code হ্যান্ডল করতে সাহায্য করে। আপনি যখন কোনো ওয়েব পেজ থেকে ডাটা স্ক্র্যাপ করতে চান, তখন HTTP রেসপন্স এবং স্ট্যাটাস কোডের সাথে কাজ করা গুরুত্বপূর্ণ। এই প্রক্রিয়াটি আপনি জেসুপ ব্যবহার করে সহজে করতে পারেন।
HTTP রিকোয়েস্ট পাঠানো
জেসুপ দিয়ে HTTP রিকোয়েস্ট পাঠানোর জন্য Jsoup.connect() মেথড ব্যবহার করা হয়। এটি ওয়েব সার্ভারের সাথে যোগাযোগ স্থাপন করে, এবং রেসপন্সের স্ট্যাটাস কোড এবং অন্যান্য তথ্য হ্যান্ডল করতে সহায়ক।
HTTP Response এবং Status Code হ্যান্ডল করা
উদাহরণ
ধরা যাক, আমরা একটি ওয়েব পেজ থেকে তথ্য নিয়ে আসব এবং তার HTTP স্ট্যাটাস কোড চেক করব।
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.Connection;
public class JsoupHttpResponseExample {
public static void main(String[] args) {
try {
// URL থেকে HTTP রিকোয়েস্ট পাঠানো
String url = "https://www.example.com";
Connection.Response response = Jsoup.connect(url)
.method(Connection.Method.GET)
.execute();
// HTTP স্ট্যাটাস কোড পাওয়া
int statusCode = response.statusCode();
String statusMessage = response.statusMessage();
// রেসপন্স কন্টেন্ট
Document doc = response.parse();
// HTTP স্ট্যাটাস কোড এবং মেসেজ প্রিন্ট করা
System.out.println("HTTP Status Code: " + statusCode);
System.out.println("HTTP Status Message: " + statusMessage);
// HTML কন্টেন্ট প্রদর্শন করা
System.out.println("Page Title: " + doc.title());
} catch (Exception e) {
e.printStackTrace();
}
}
}
কোড ব্যাখ্যা
- HTTP রিকোয়েস্ট পাঠানো:
Jsoup.connect(url)দিয়ে URL এর সাথে HTTP রিকোয়েস্ট পাঠানো হয়। এখানেConnection.Method.GETব্যবহার করা হয়েছে GET মেথড দিয়ে রিকোয়েস্ট পাঠানোর জন্য। response.statusCode(): এই মেথডের মাধ্যমে HTTP স্ট্যাটাস কোড পাওয়া যায় (যেমন 200, 404 ইত্যাদি)। এটি HTTP রিকোয়েস্টের সফলতা বা ব্যর্থতা নির্দেশ করে।response.statusMessage(): স্ট্যাটাস কোডের সাথে সম্পর্কিত মেসেজ পাওয়া যায় (যেমন "OK", "Not Found" ইত্যাদি)।- রেসপন্স ডকুমেন্ট:
response.parse()মেথড ব্যবহার করে HTTP রেসপন্সের HTML কন্টেন্ট পার্স করা হয়। এরপরdoc.title()দিয়ে পেজের শিরোনাম (title) পাওয়া হয়।
সাধারণ HTTP স্ট্যাটাস কোড
HTTP রেসপন্সের বিভিন্ন স্ট্যাটাস কোড আছে যা সার্ভারের প্রতিক্রিয়া বুঝায়:
- 200 (OK): রিকোয়েস্ট সফল হয়েছে এবং সার্ভার সঠিকভাবে ডাটা পাঠিয়েছে।
- 301 (Moved Permanently): রিকোয়েস্ট করা রিসোর্স স্থায়ীভাবে অন্য স্থানে সরানো হয়েছে।
- 404 (Not Found): রিকোয়েস্ট করা রিসোর্স পাওয়া যায়নি।
- 500 (Internal Server Error): সার্ভারের অভ্যন্তরীণ কোনো সমস্যা হয়েছে।
সারাংশ
জেসুপ (JSoup) ব্যবহার করে HTTP রিকোয়েস্ট পাঠানো এবং HTTP স্ট্যাটাস কোড হ্যান্ডল করা খুবই সহজ। Jsoup.connect() মেথডের মাধ্যমে রিকোয়েস্ট পাঠানো হয় এবং response.statusCode() ও response.statusMessage() ব্যবহার করে রেসপন্সের স্ট্যাটাস কোড এবং মেসেজ পাওয়া যায়। এই পদ্ধতি ওয়েব স্ক্র্যাপিং প্রক্রিয়ায় খুবই কার্যকরী, কারণ এটি আপনাকে সার্ভারের প্রতিক্রিয়া বিশ্লেষণ করতে সাহায্য করে এবং ডাটা এক্সট্র্যাক্ট করার আগে সঠিক রেসপন্স নিশ্চিত করে।
Read more