এইচটিপিপি স্ট্যাটাস কোডটি লাইব্রাক্লের সাথে?


92

Curl_easy_perfor কল করার পরে আমি কীভাবে HTTP স্থিতি কোড পেতে (যেমন 200 বা 500)?


7
ভাল প্রশ্ন. অন্য একটি হতে পারে, কীভাবে স্থিতি বার্তা পাবেন .. :)
মাইখাল

উত্তর:


136

http://curl.haxx.se/libcurl/c/curl_easy_getinfo.html

CURLINFO_RESPONSE_CODE

সর্বশেষ প্রাপ্ত এইচটিটিপি বা এফটিপি কোড পাওয়ার জন্য একটি পয়েন্টারটি দীর্ঘ স্থির করুন। এই
অপশনটি লাইবর্কেল 10.১০..7 এবং এর আগে CURLINFO_HTTP_CODE হিসাবে পরিচিত ছিল। এই
কোনও সার্ভারের প্রতিক্রিয়া কোড না পেলে শূন্য হবে। দ্রষ্টব্য যে ক
প্রক্সি এর সংযোগ প্রতিক্রিয়া CURLINFO_HTTP_CONNECTCODE দিয়ে পড়তে হবে 
এবং এই না। 
curl_code = curl_easy_perform (session);
long http_code = 0;
curl_easy_getinfo (session, CURLINFO_RESPONSE_CODE, &http_code);
if (http_code == 200 && curl_code != CURLE_ABORTED_BY_CALLBACK)
{
         //Succeeded
}
else
{
         //Failed
}

6

অন্য উত্তরটি একেবারে সঠিক, তবে আমি এটি যুক্ত করতে চাই যে হাতের মাধ্যমে ত্রুটি কোডটি চেক করা বুদ্ধিমানের কাজ নাও হতে পারে, 200কোডটি একমাত্র কোড নয় যা সাফল্যের পরিচায়ক।

আমি libcurl বিকল্পটি CURLOPT_FAILONERROR ব্যবহার করে পুনরুদ্ধার করব যে সক্রিয় হয়ে গেলে libcurl টিকে বিবেচনা করতে 400এবং -শ্রেণীর 500স্থিতিগুলি একটি অনুরোধ ব্যর্থতা বিবেচনা করে এবং CURLE_OKসম্পাদন থেকে ফিরে আসবে না ।


বিকল্পগুলির সেটগুলির উপর নির্ভর করে এটির জন্য এক্সটেনশান হিসাবে অন্যান্য "200 সিরিজ" কোড রয়েছে যা একটি সাফল্য, আরও বেশি কাজ করা দরকার তা বোঝার পরেও, 301 এবং 302 এর মধ্যে দু'জনের জানা সবচেয়ে বেশি। অবশ্যই কার্ল হতে পারে এগুলি স্বয়ংক্রিয়ভাবে হ্যান্ডেল করার জন্য সেট আপ করুন তবে এমন ঘটনাও থাকতে পারে যেখানে অ্যাপ্লিকেশন সেগুলি নিজেই পরিচালনা করতে চায়। Https: // ক্লায়েন্ট প্রমাণীকরণের সাথে ব্যবহার করা হয় এবং 301/302 ফলাফলের টার্গেটের জন্য একটি সম্পূর্ণ নতুন শংসাপত্র শৃঙ্খলা প্রয়োজন যখন একটি সম্ভাবনা হতে পারে।
dgnuff
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.