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

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

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

  1. 1

    DevTools کھولیں

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

  2. 2

    Network ٹیب پر جائیں

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

  3. 3

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

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

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

Elixir HTTPoison کیا ہے؟

HTTPoison Elixir کے لیے سب سے مقبول HTTP کلائنٹ ہے، جو Erlang کی hackney لائبریری پر بنایا گیا ہے۔ یہ GET، POST، اسٹریمنگ، اور async درخواستوں کے لیے ایک صاف ستھرا، فنکشنل API فراہم کرتا ہے۔ اسے mix.exs ڈیپینڈینسیز میں شامل کریں: {:httpoison, "~> 2.0"}۔ curl2code خود بخود Elixir کنورژنز کے لیے HTTPoison کو ڈیفالٹ کے طور پر استعمال کرتا ہے۔

HTTPoison بمقابلہ Req بمقابلہ Tesla بمقابلہ Finch — کون سا استعمال کریں؟

HTTPoison سب سے زیادہ قائم اور بڑے پیمانے پر استعمال ہونے والا ہے۔ Req نیا ہے، جس میں ری ٹرائز اور آتھنٹیکیشن شامل ہیں۔ Tesla فیراڈے (Faraday) کی طرح مڈل ویئر آرکیٹیکچر پیش کرتا ہے۔ Finch پروڈکشن کے استعمال کے لیے لو-لیول اور ہائی پرفارمنس ہے۔ اسی طرح کے فنکشنل طریقوں کے لیے، curl to Clojure یا curl to Ruby دیکھیں۔

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

ہیڈرز کو سٹرنگ ٹیوپلز کی فہرست کے طور پر پاس کریں: HTTPoison.get(url, [{"Authorization", "Bearer token"}])۔ Basic auth کے لیے، user:pass کو Base.encode64/1 سے انکوڈ کریں اور ویلیو کے شروع میں "Basic " لگائیں۔ رسپانس کو {:ok, response} یا {:error, reason} کے لیے پیٹرن میچ کریں۔ curl2code -H اور -u فلیگز کو محاوراتی Elixir میں تبدیل کرتا ہے۔

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

باڈی کے طور پر {:multipart, parts} استعمال کریں: HTTPoison.post(url, {:multipart, [{:file, path, {"form-data", [{"name", "file"}, {"filename", "doc.pdf"}]}, []}]})۔ سادہ فارم فیلڈز کے لیے، {"key", "value"} ٹیوپلز شامل کریں۔ curl2code خود بخود HTTPoison ملٹی پارٹ کے لیے -F فلیگز کو ہینڈل کرتا ہے۔

Elixir HTTP درخواستوں میں غلطیوں کو کیسے ہینڈل کریں؟

HTTPoison ٹیگ شدہ ٹیوپلز واپس کرتا ہے: {:ok, response} یا {:error, reason}۔ case یا with کے ساتھ پیٹرن میچ کریں: case HTTPoison.get(url) do {:ok, %{status_code: 200}'} -> ... ; {:error, %{reason: reason}'} -> ... end۔ یہ ایلیگزیر کا مخصوص طریقہ ہے — بغیر کسی ایکسیپشن کے واضح اور مکمل ایرر ہینڈلنگ۔

Elixir میں ہم آہنگ (concurrent) HTTP درخواستیں کیسے کریں؟

Task.async/1 اور Task.await/1 استعمال کریں: tasks = urls |> Enum.map(&Task.async(fn -> HTTPoison.get(&1) end)) پھر results = tasks |> Enum.map(&Task.await/1)۔ Elixir کا BEAM VM ہزاروں ہم آہنگ پراسیسز کو مؤثر طریقے سے ہینڈل کرتا ہے۔ اسی طرح کی کنکرنسی کے لیے، curl to Go دیکھیں۔

Elixir میں ٹائم آؤٹ کیسے سیٹ کریں؟

HTTPoison کو اختیارات پاس کریں: HTTPoison.get(url, [], [timeout: 30_000, recv_timeout: 30_000])۔ timeout کنکشن ٹائم آؤٹ ہے، recv_timeout رسپانس ٹائم آؤٹ ہے (دونوں ملی سیکنڈز میں)۔ ری ٹرائز کے لیے، اسے ایک ریکرسیو فنکشن میں لپیٹیں یا Req لائبریری کا بلٹ ان ری ٹرائی استعمال کریں۔

Elixir میں پراکسی کیسے استعمال کریں؟

HTTPoison کو پراکسی آپشن پاس کریں: HTTPoison.get(url, [], [proxy: {"proxy.host", 8080}])۔ آتھنٹیکیٹڈ پراکسیز کے لیے، proxy_auth: {"user", "pass"} استعمال کریں۔ HTTPoison بنیادی hackney لائبریری کے ذریعے SOCKS5 پراکسیز کو بھی سپورٹ کرتا ہے۔ curl2code خود بخود -x فلیگز کو Elixir پراکسی کنفیگریشن میں تبدیل کر دیتا ہے۔

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

curl2code کا استعمال کرتے ہوئے curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL جیسی curl POST کمانڈ کو Elixir میں تبدیل کریں۔ تیار کردہ کوڈ HTTPoison.post(url, Jason.encode!(body), [{'Content-Type', 'application/json'}]) استعمال کرتا ہے۔ curl2code خودکار طور پر JSON مواد کے ساتھ -d/--data فلیگز کا پتہ لگاتا ہے اور HTTPoison کوڈ میں مناسب Content-Type ہیڈر سیٹ کرتا ہے۔

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

curl2code کو curl -H "Authorization: Bearer YOUR_TOKEN" URL فراہم کریں اور یہ auth ہیڈر کے ساتھ HTTPoison کوڈ تیار کرتا ہے: [{'Authorization', 'Bearer YOUR_TOKEN'}]۔ curl2code دونوں -H "Authorization: Bearer ..." اور --oauth2-bearer فلیگز سے Bearer ٹوکنز کا پتہ لگاتا ہے۔ Basic auth کے لیے، -u user:pass استعمال کریں۔

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

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

مفید لنکس

curl گائیڈز

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