libcurl easy handle ত এটা স্পষ্ট প্ৰক্সি লগোৱা
এটা নিৰ্দিষ্ট প্ৰক্সিৰ বাবে libcurl easy handle কনফিগাৰ কৰক আৰু option ত্ৰুটি, transfer বিফলতা আৰু HTTP স্থিতি পৃথক কৰক।
libcurl এ প্ৰক্সিৰ বিন্যাস transfer চলোৱা easy handle ত সংযোগ কৰে। মধ্যস্থতাকাৰীৰ ঠিকনা সেই handle ত ৰাখক, CURLOPT_URL কিন্তু গন্তব্য URL হিচাপে এৰি দিয়ক।
তলৰ অংশত ধৰি লোৱা হৈছে যে libcurl আৰম্ভ কৰা হৈছে আৰু handle এটা বৈধ easy handle:
char error[CURL_ERROR_SIZE] = {0};
CURLcode result;
result = curl_easy_setopt(handle, CURLOPT_ERRORBUFFER, error);
if (result == CURLE_OK)
result = curl_easy_setopt(handle, CURLOPT_URL,
"https://example.com/");
if (result == CURLE_OK)
result = curl_easy_setopt(handle, CURLOPT_PROXY,
"http://proxy.example:8080");
if (result == CURLE_OK)
result = curl_easy_perform(handle);
if (result != CURLE_OK)
fprintf(stderr, "%s\n", error[0] ? error
: curl_easy_strerror(result));
handle এ যেতিয়ালৈকে ইয়াক উল্লেখ কৰে তেতিয়ালৈকে ত্ৰুটি বাফাৰটো সজীৱ ৰাখক। ইয়াৰ পৰিসৰ এৰাৰ আগতে handle পৰিষ্কাৰ কৰক বা CURLOPT_ERRORBUFFER পইণ্টাৰটো সলনি কৰক বা মচক। প্ৰক্সিৰ হোষ্টনাম এটা প্লে'চহোল্ডাৰ; HTTP প্ৰক্সি তালিকাৰ পৰা এটা অনুমোদনহীন প্ৰাৰ্থীয়ে এই ৰাজহুৱা-ছাইট পৰীক্ষাৰ বাবে ঠিকনা যোগান ধৰিব পাৰে। ইয়াৰ প্ৰকৃত স্কিম আৰু প'ৰ্ট ব্যৱহাৰ কৰক, আৰু ই HTTPS সুৰংগৰ অনুমতি দিয়ে নে নাই পৰীক্ষা কৰক।
এটা HTTPS গন্তব্যই HTTP প্ৰক্সি ব্যৱহাৰ কৰিব পাৰে। সেই HTTPS transfer ৰ বাবে libcurl এ সুৰংগটো চলায়। প্ৰক্সি option ত থকা http:// এ মধ্যস্থতাকাৰীৰ সৈতে সংযোগৰ বৰ্ণনা কৰে। ইয়াক https:// লৈ সলনি কৰক কেৱল এনে এটা প্ৰক্সি এণ্ডপইণ্টৰ বাবে যি প্ৰকৃততে TLS গ্ৰহণ কৰে আৰু এনে এটা libcurl build ৰ বাবে যি ইয়াক সমৰ্থন কৰে।
কাৰ্যকৰী পথটো ইচ্ছাকৃত কৰক
এটা স্পষ্ট প্ৰক্সি option এ সংশ্লিষ্ট প্ৰক্সি পৰিৱেশ ছেটিঙক অতিক্ৰম কৰে। বাইপাছ এটা সুকীয়া সিদ্ধান্ত: উত্তৰাধিকাৰী no_proxy এ তথাপিও গন্তব্যটো বাদ দিব পাৰে। যদি এই handle এ ইয়াক দিয়া প্ৰতিটো গন্তব্যৰ বাবে নিৰ্বাচিত প্ৰক্সিটো ব্যৱহাৰ কৰিব লাগে, তেন্তে সেই নীতিটোৰ অংশ হিচাপে CURLOPT_NOPROXY ক এটা খালী ষ্ট্ৰিং হিচাপে কনফিগাৰ কৰক।
বিপৰীতভাৱে, CURLOPT_PROXY ক খালী ষ্ট্ৰিং হিচাপে ছেট কৰিলে প্ৰক্সি ব্যৱহাৰ স্পষ্টভাৱে অক্ষম হয়। ইয়াক NULL হিচাপে ছেট কৰিলে স্পষ্ট নিয়োজন আঁতৰে আৰু পৰিৱেশ-আধাৰিত আচৰণ পুনৰ অনুমতি দিয়ে। সেই দুটা মানে ভিন্ন উদ্দেশ্য পূৰণ কৰে।
Content-Type: text/xml ৰ দৰে লক্ষ্য-নিৰ্দিষ্ট হেডাৰে প্ৰক্সি নিৰ্বাচন নকৰে। ইয়াক কেৱল তেতিয়া যোগ কৰক যেতিয়া প্ৰকৃত অনুৰোধৰ বডি আৰু গন্তব্য API ৰ সেই মিডিয়া প্ৰকাৰৰ প্ৰয়োজন হয়।
HTTP ফলাফলো পঢ়ক
সফল curl_easy_perform ৰ অৰ্থ এইটো নহয় যে ৱেবছাইটে সফল HTTP স্থিতি ঘূৰাই দিছে। CURLINFO_RESPONSE_CODE পঢ়ক আৰু এপ্লিকেশ্যনৰ স্থিতি পৰিচালনা প্ৰয়োগ কৰক। প্ৰক্সিৰ CONNECT উত্তৰৰ নিজৰ মান আছে, CURLINFO_HTTP_CONNECTCODE; সুৰংগ নাকচ কৰা যিকোনো ৱেবছাইট সঁহাৰিৰ আগতে আহে।
CURLOPT_FAILONERROR এ বহু HTTP ত্ৰুটি বিফলতা হিচাপে গণ্য কৰিব পাৰে, কিন্তু ইয়াৰ নথিয়ে প্ৰমাণীকৰণৰ ব্যতিক্ৰমসমূহ উল্লেখ কৰে। প্ৰক্সিৰ 407 প্ৰত্যাহ্বান গন্তব্যৰ স্থিতিৰ পৰা পৃথক ৰাখক।