cURL کنورٹر: cURL سے Fetch، Python، Axios اور مزید
curl کمانڈ پیسٹ کریں، مثلاً براؤزر DevTools سے کاپی کی گئی، اور 8 زبانوں میں چلنے کے لیے تیار کوڈ حاصل کریں۔ ہیڈرز، JSON باڈیز، فارمز، فائل اپ لوڈز، تصدیق اور کوکیز سب تبدیل ہوتے ہیں۔
آپ کے براؤزر میں چلتا ہےسائن اپ کی ضرورت نہیںکچھ اپ لوڈ نہیں ہوتا
cURL کنورٹر استعمال کرنے کا طریقہ
- ریکوئسٹ کو cURL کے طور پر کاپی کریں: Chrome یا Firefox DevTools کے Network ٹیب میں ریکوئسٹ پر رائٹ کلک کریں ← Copy ← Copy as cURL۔
- اسے ان پٹ باکس میں پیسٹ کریں۔
\والی ملٹی لائن کمانڈز، Windows کی^continuations اور$'…'سٹرنگز سپورٹڈ ہیں۔ - ٹارگٹ منتخب کریں: JavaScript fetch، Axios، Node.js، Python requests، Python httpx، Go، PHP یا HTTPie۔
- آؤٹ پٹ کے نیچے دی گئی وارننگز پڑھیں۔ ان میں وہ آپشنز درج ہوتے ہیں جن کا ٹارگٹ زبان میں کوئی متبادل نہیں۔
- کوڈ کاپی کریں یا فائل کے طور پر ڈاؤن لوڈ کریں۔
curl کمانڈز کو کوڈ میں کیوں بدلیں؟
curl HTTP کی مشترکہ زبان ہے۔ API ڈاکس مثالیں curl میں دکھاتی ہیں، براؤزر DevTools ریکوئسٹس کو curl کے طور پر ایکسپورٹ کرتے ہیں، اور سپورٹ ٹیمیں مسئلے کی نقل curl میں بھیجتی ہیں۔ جب آپ وہ ریکوئسٹ کسی ایپلیکیشن میں چاہتے ہیں تو اسے ہاتھ سے دوبارہ لکھنا پڑتا ہے: ہر -H کو ہیڈرز آبجیکٹ میں لے جائیں، -d کو باڈی بنائیں، -u کو basic auth میں بدلیں اور یاد رکھیں کہ -G ڈیٹا کو کوئری سٹرنگ میں لے جاتا ہے۔ یہ کنورٹر آپ کے لیے یہ ترجمہ کرتا ہے اور ایسا کوڈ بناتا ہے جو سیدھا پروجیکٹ میں پیسٹ کیا جا سکے۔
سپورٹڈ curl آپشنز
| آپشن | تبدیل ہو کر |
|---|---|
-X، -I، -G | HTTP میتھڈ (باڈی موجود ہو تو POST فرض کیا جاتا ہے) |
-H، -A، -e، -b | ہیڈرز، User-Agent، Referer اور کوکیز |
-d، --data-raw، --data-binary، --data-urlencode، --json | ریکوئسٹ باڈی: JSON آبجیکٹس، فارم فیلڈز یا خام متن |
-F | ملٹی پارٹ فارم ڈیٹا، بشمول @file اپ لوڈز |
-u، --oauth2-bearer | Basic auth یا Bearer ٹوکن |
-k، -L، -m، -x، --compressed | TLS تصدیق، ری ڈائریکٹس، ٹائم آؤٹ، پراکسی اور کمپریشن |
JSON باڈیز اصل آبجیکٹس بن جاتی ہیں
جب ریکوئسٹ JSON بھیجتی ہے (Content-Type: application/json ہیڈر، --json، یا ایسی باڈی جو JSON کے طور پر پارس ہو)، تو کنورٹر ایسکیپ شدہ سٹرنگ کے بجائے مقامی ڈیٹا سٹرکچرز بناتا ہے: fetch کے لیے JSON.stringify({...})، Axios کے لیے سادہ آبجیکٹ اور requests اور httpx کے لیے Python dict کے ساتھ json= (True، False، None)۔ اس سے payload میں ترمیم کرنا اور ویری ایبلز ڈالنا آسان ہو جاتا ہے۔
یاد رکھنے والے فرق
براؤزرز سرٹیفکیٹ چیک بند نہیں کر سکتے اور نہ ہی ایک ریکوئسٹ کو پراکسی سے گزار سکتے ہیں، اس لیے براؤزر fetch کوڈ میں -k اور -x صرف کمنٹس کے طور پر آتے ہیں۔ curl ری ڈائریکٹس فالو نہیں کرتا جب تک آپ -L نہ دیں، جبکہ fetch، requests اور Go ڈیفالٹ طور پر فالو کرتے ہیں۔ -d سے بغیر Content-Type بھیجی گئی باڈی کو curl فارم انکوڈ کرتا ہے؛ اگر وہ JSON جیسی لگے تو کنورٹر اسے JSON کے طور پر بھیجتا ہے اور وارننگ میں بتاتا ہے۔
اکثر پوچھے جانے والے سوالات
کیا میری curl کمانڈ سرور پر بھیجی جاتی ہے؟
Chrome سے ریکوئسٹ کو cURL کے طور پر کیسے کاپی کروں؟
کیا یہ فائل اپ لوڈز سنبھالتا ہے؟
-F name=@file JavaScript میں FormData، Python میں files= dict، Go میں mime/multipart اور PHP میں CURLFile بن جاتا ہے۔ -d @file اور -T file ریکوئسٹ باڈی فائل سے پڑھتے ہیں۔جن آپشنز کو کنورٹر نہیں جانتا ان کا کیا ہوتا ہے؟
-s، -v یا -o نظر انداز کیے جاتے ہیں کیونکہ وہ ریکوئسٹ کو نہیں بدلتے۔