C++:
HTTP অনুরোধ প্রেরণ করা
কিভাবে:
#include <iostream>
#include <cpr/cpr.h> // প্রথমে CPR লাইব্রেরি ইন্সটল করা নিশ্চিত করুন।
int main() {
cpr::Response r = cpr::Get(cpr::Url{"http://httpbin.org/get"});
std::cout << r.text << std::endl; // উত্তর শরীর দেখায়।
return 0;
}
নমুনা আউটপুট:
{
"args": {},
"headers": {
"Accept": "*/*",
"Host": "httpbin.org",
"User-Agent": "curl/7.64.1"
},
"origin": "0.0.0.0",
"url": "https://httpbin.org/get"
}
গভীরে যাওয়া
HTTP অনুরোধ ওয়েবের আবির্ভাবের পর থেকে অপরিহার্য হয়েছে; এটি একটি ক্লায়েন্ট-সার্ভার মডেল অনুসরণ করে। CPR মতো C++ লাইব্রেরিগুলোর আগে, HTTP অনুরোধ পাঠানো সাধারণত libcurl
সরাসরি ব্যবহার করা মানে, অথবা ওয়েব যোগাযোগের জন্য অধিক সজ্জিত অন্য কোন ভাষা সহ ইন্টিগ্রেট করা।
CPR, যার অর্থ C++ Requests, এটি Python এর requests
মডিউল দ্বারা অনুপ্রাণিত একটি সহজে ব্যবহার করা যায় এমন একটি র্যাপার। এটি libcurl
এর অনেক জটিলতাকে সরাসরি অ্যাবসট্রাক্ট করে। অল্টারনেটিভগুলি এবং অস্তিত্বে আছে, যেমন লোয়ার-লেভেল HTTP/S অপারেশনের জন্য Boost.Beast বা POCO লাইব্রেরিগুলি পোর্টেবিলিটি অফার করে।
চালকের আসনের নিচে গিয়ে, HTTP অনুরোধ পাঠানো মানে একটি TCP সংযোগ সেটআপ করা, HTTP প্রোটোকলের সাথে সামঞ্জস্যপূর্ণ একটি অনুরোধ বিন্যাসকরণ করা, তারপর উত্তরটি পার্স করা। শুরু থেকে এটি সঠিকভাবে পাওয়া অ-সামান্য কারণ ত্রুটি হাতলানো, HTTP সংস্করণ জটিলতা, এবং নিরাপত্তা বিবেচনাগুলি জড়িত।
আরও দেখুন
- CPR Github রেপোজিটরি: https://github.com/libcpr/cpr
libcurl
ডকুমেন্টেশন আরও উন্নত ব্যবহারের জন্য: https://curl.se/libcurl/- অফিসিয়াল Boost.Beast ডকুমেন্টেশন: https://www.boost.org/doc/libs/release/libs/beast/
- POCO C++ লাইব্রেরিগুলি ডকুমেন্টেশন: https://pocoproject.org/docs/