curl کو C میں تبدیل کریں

curl2code libcurl کا استعمال کرتے ہوئے curl کمانڈز کو C کوڈ میں تبدیل کرتا ہے۔ مکمل رازداری کے لیے یہ تبدیلی WebAssembly کے ذریعے آپ کے براؤزر میں ہوتی ہے۔ Rust کے لیے، ہمارا curl to Rust کنورٹر دیکھیں۔ Go کے لیے، curl to Go دیکھیں۔ نیچے میموری مینجمنٹ کے ساتھ عملی C مثالیں دی گئی ہیں۔

اپنے براؤزر سے curl کاپی کرنے کا طریقہ

  1. 1

    DevTools کھولیں

    اپنے براؤزر کے ڈویلپر ٹولز کھولنے کے لیے F12 یا Ctrl+Shift+I دبائیں۔

  2. 2

    Network ٹیب پر جائیں

    Network ٹیب پر کلک کریں اور وہ عمل کریں جو HTTP درخواست کو متحرک کرتا ہے۔

  3. 3

    cURL کے طور پر کاپی کریں

    درخواست پر رائٹ کلک کریں ← CopyCopy as cURL۔ پھر اسے اوپر پیسٹ کریں۔

اکثر پوچھے جانے والے سوالات

libcurl کیا ہے؟

libcurl وہ C لائبریری ہے جو curl کمانڈ لائن ٹول کے پیچھے کام کرتی ہے۔ یہ دنیا کی سب سے زیادہ پورٹیبل اور بڑے پیمانے پر استعمال ہونے والی HTTP کلائنٹ لائبریری ہے، جو 25 سے زیادہ پروٹوکولز کو سپورٹ کرتی ہے۔ اسے ہزاروں ایپلی کیشنز اور ایمبیڈڈ سسٹمز استعمال کرتے ہیں۔ اسے اپنے سسٹم پیکیج مینیجر کے ساتھ شامل کریں یا اسٹیٹک طور پر لنک کریں۔ curl2code آسان انٹرفیس کا استعمال کرتے ہوئے libcurl C کوڈ تیار کرتا ہے۔

libcurl easy بمقابلہ multi interface — کون سا استعمال کریں؟

easy interface (curl_easy_*) سنگل سنکرونس ٹرانسفرز کے لیے ہے — سادہ اور سیدھا۔ multi interface (curl_multi_*) ایک ہی تھریڈ میں نان بلاکنگ ہم آہنگ ٹرانسفرز کو قابل بناتا ہے۔ اسکرپٹس اور سادہ ٹولز کے لیے easy استعمال کریں، ہائی پرفارمنس ایپلی کیشنز کے لیے multi۔ اعلی درجے کی C-فیملی زبان کے لیے، curl to Rust دیکھیں۔

libcurl کے ساتھ آتھنٹیکیشن کو کیسے ہینڈل کریں؟

Bearer کے لیے: curl_slist_append(headers, "Authorization: Bearer token") کے ساتھ ایک کسٹم ہیڈر سیٹ کریں۔ Basic auth کے لیے: curl_easy_setopt(curl, CURLOPT_USERPWD, "user:pass")۔ libcurl خود بخود Basic auth اسناد کو انکوڈ کرتا ہے۔ curl2code خود بخود -u اور ہیڈر فلیگز کو درست C API کالز میں تبدیل کر دیتا ہے۔

libcurl کے ساتھ ملٹی پارٹ فارم ڈیٹا کیسے بھیجیں؟

MIME API (libcurl 7.56+) استعمال کریں: مائم اسٹرکچر بنانے کے لیے curl_mime_init()، ہر فیلڈ کے لیے curl_mime_addpart()، اور فائل اپ لوڈز کے لیے curl_mime_name() اور curl_mime_filedata()۔ CURLOPT_MIMEPOST کے ساتھ سیٹ کریں۔ curl_mime_free() کے ساتھ فارغ کریں۔

libcurl کے ساتھ غلطیوں کو کیسے ہینڈل کریں؟

ہر curl_easy_* فنکشن ایک CURLcode واپس کرتا ہے — اسے CURLE_OK کے خلاف چیک کریں۔ انسانی پڑھنے کے قابل پیغامات کے لیے curl_easy_strerror(code) استعمال کریں۔ تفصیلی ایرر اسٹرنگز کے لیے CURLOPT_ERRORBUFFER سیٹ کریں۔ curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &code) کے ساتھ HTTP اسٹیٹس حاصل کریں۔

libcurl کے ساتھ میموری مینجمنٹ کیسے کریں؟

جب ہینڈل کا کام ختم ہو جائے تو ہمیشہ curl_easy_cleanup() کال کریں۔ ہیڈر لسٹوں کو curl_slist_free_all() کے ساتھ فارغ کریں۔ MIME اسٹرکچرز کو curl_mime_free() کے ساتھ فارغ کریں۔ رائٹ کال بیکس کے لیے، اپنی بفر ایلوکیشن خود مینیج کریں۔ پروگرام کے اختتام پر ایک بار curl_global_cleanup() کال کریں۔ ریسورسز کو فارغ نہ کرنے سے میموری لیک ہوتی ہے۔

libcurl کے ساتھ ٹائم آؤٹ کیسے سیٹ کریں؟

کنکشن ٹائم آؤٹ کے لیے CURLOPT_CONNECTTIMEOUT اور کل ٹرانسفر ٹائم کے لیے CURLOPT_TIMEOUT سیٹ کریں (دونوں سیکنڈز میں)۔ ملی سیکنڈ کی درستگی کے لیے، CURLOPT_CONNECTTIMEOUT_MS اور CURLOPT_TIMEOUT_MS استعمال کریں۔ یہ وہی آپشنز ہیں جو curl CLI میں --connect-timeout اور --max-time کے ساتھ استعمال ہوتے ہیں۔

libcurl کے ساتھ پراکسی کیسے کنفیگر کریں؟

CURLOPT_PROXY کو پراکسی URL پر سیٹ کریں: curl_easy_setopt(curl, CURLOPT_PROXY, "http://proxy:8080")۔ SOCKS5 کے لیے: CURLOPT_PROXYTYPE کو CURLPROXY_SOCKS5 پر سیٹ کریں۔ پراکسی آتھنٹیکیشن کے لیے: CURLOPT_PROXYUSERPWD۔ libcurl خود بخود http_proxy انوائرمنٹ ویری ایبل کا بھی احترام کرتا ہے۔

C میں JSON باڈی کے ساتھ POST درخواست کیسے بھیجیں؟

curl2code کا استعمال کرتے ہوئے curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL جیسی curl POST کمانڈ کو C میں تبدیل کریں۔ تیار کردہ کوڈ curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json_string) استعمال کرتا ہے۔ curl2code خودکار طور پر JSON مواد کے ساتھ -d/--data فلیگز کا پتہ لگاتا ہے اور libcurl کوڈ میں مناسب Content-Type ہیڈر سیٹ کرتا ہے۔

C میں Bearer ٹوکن کی اجازت کیسے شامل کریں؟

curl2code کو curl -H "Authorization: Bearer YOUR_TOKEN" URL فراہم کریں اور یہ auth ہیڈر کے ساتھ libcurl کوڈ تیار کرتا ہے: struct curl_slist *headers = curl_slist_append(NULL, "Authorization: Bearer TOKEN")۔ curl2code دونوں -H "Authorization: Bearer ..." اور --oauth2-bearer فلیگز سے Bearer ٹوکنز کا پتہ لگاتا ہے۔ Basic auth کے لیے، -u user:pass استعمال کریں۔

C میں Content-Type ہیڈر کیسے سیٹ کریں؟

curl2code curl -H "Content-Type: application/json" URL کو مناسب ہیڈر کے ساتھ libcurl کوڈ میں تبدیل کرتا ہے: curl_slist_append(headers, "Content-Type: application/json")۔ -d ڈیٹا کے لیے، curl ڈیفالٹ طور پر application/x-www-form-urlencoded استعمال کرتا ہے؛ -F فارم اپ لوڈز کے لیے، یہ multipart/form-data استعمال کرتا ہے۔ curl2code ہر ایک کو درست libcurl API کے ساتھ میپ کرتا ہے۔

مفید لنکس

curl گائیڈز

curl کو دیگر زبانوں میں تبدیل کریں