Convertește curl în Elixir
Convertește comenzile curl în cod Elixir folosind HTTPoison. curl2code rulează integral în browserul tău prin WebAssembly — datele tale rămân private. Pentru Ruby, încearcă convertorul nostru curl în Ruby. Pentru Go, vezi curl în Go. Mai jos sunt exemple Elixir gata de utilizat.
Cum să copiezi curl din browserul tău
- 1
Deschide DevTools
Apasă F12 sau Ctrl+Shift+I pentru a deschide instrumentele de dezvoltare ale browserului.
- 2
Mergi la fila Network
Fă clic pe fila Network și efectuează acțiunea care declanșează cererea HTTP.
- 3
Copiază ca cURL
Fă clic dreapta pe cerere → Copy → Copy as cURL. Apoi lipește-o mai sus.
Întrebări frecvente
Ce este Elixir HTTPoison?
HTTPoison este cel mai popular client HTTP pentru Elixir, construit peste biblioteca Erlang hackney. Acesta oferă un API funcțional și curat pentru GET, POST, streaming și cereri asincrone. Adăugați la dependențele din mix.exs: {:httpoison, "~> 2.0"}. curl2code folosește HTTPoison ca implicit pentru conversiile Elixir.
HTTPoison vs Req vs Tesla vs Finch — pe care să îl folosesc?
HTTPoison este cel mai consacrat și utilizat pe scară largă. Req este mai nou, vine cu tot ce este necesar, inclusiv reîncercări și autentificare. Tesla oferă o arhitectură middleware precum Faraday. Finch este de nivel inferior, de înaltă performanță pentru utilizare în producție. Pentru abordări funcționale similare, consultați curl to Clojure sau curl to Ruby.
Cum se gestionează autentificarea în Elixir?
Transmiteți headerele ca o listă de tuple de stringuri: HTTPoison.get(url, [{"Authorization", "Bearer token"}]). Pentru autentificarea Basic, codați user:pass cu Base.encode64/1 și adăugați prefixul "Basic " la valoare. Faceți pattern matching pe răspuns pentru {:ok, response} sau {:error, reason}. curl2code convertește flag-urile -H și -u în Elixir idiomatic.
Cum se trimit date de tip multipart form în Elixir?
Folosiți {:multipart, parts} ca corp: HTTPoison.post(url, {:multipart, [{:file, path, {"form-data", [{"name", "file"}, {"filename", "doc.pdf"}]}, []}]}). Pentru câmpuri de formular simple, adăugați tuple {"key", "value"}. curl2code gestionează flag-urile -F pentru multipart HTTPoison.
Cum se gestionează erorile în cererile HTTP Elixir?
HTTPoison returnează tuple etichetate: {:ok, response} sau {:error, reason}. Faceți pattern matching cu case sau with: case HTTPoison.get(url) do {:ok, %{status_code: 200}'} -> ... ; {:error, %{reason: reason}'} -> ... end. Acesta este stilul idiomatic Elixir — gestionare explicită și exhaustivă a erorilor fără excepții.
Cum se fac cereri HTTP concurente în Elixir?
Folosiți Task.async/1 și Task.await/1: tasks = urls |> Enum.map(&Task.async(fn -> HTTPoison.get(&1) end)) apoi results = tasks |> Enum.map(&Task.await/1). BEAM VM din Elixir gestionează eficient mii de procese concurente. Pentru concurență similară, consultați curl to Go.
Cum se setează timeout-urile în Elixir?
Transmiteți opțiuni către HTTPoison: HTTPoison.get(url, [], [timeout: 30_000, recv_timeout: 30_000]). timeout este timeout-ul conexiunii, recv_timeout este timeout-ul răspunsului (ambele în milisecunde). Pentru reîncercări, împachetați într-o funcție recursivă cu încercări descrescătoare sau folosiți reîncercarea integrată a bibliotecii Req.
Cum se folosește un proxy în Elixir?
Transmiteți opțiunea proxy către HTTPoison: HTTPoison.get(url, [], [proxy: {"proxy.host", 8080}]). Pentru proxy-uri autentificate, folosiți proxy_auth: {"user", "pass"}. HTTPoison suportă, de asemenea, proxy-uri SOCKS5 prin biblioteca hackney de bază. curl2code convertește flag-urile -x în configurația proxy Elixir.
Cum se trimite o cerere POST cu un corp JSON în Elixir?
Convertește o comandă curl POST precum curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL în Elixir folosind curl2code. Codul generat utilizează HTTPoison.post(url, Jason.encode!(body), [{'Content-Type', 'application/json'}]). curl2code detectează automat flag-urile -d/--data cu conținut JSON și setează antetul Content-Type corespunzător în codul HTTPoison.
Cum se adaugă autorizarea prin Bearer token în Elixir?
Introdu curl -H "Authorization: Bearer YOUR_TOKEN" URL în curl2code și acesta va genera cod HTTPoison cu antetul de autentificare: [{'Authorization', 'Bearer YOUR_TOKEN'}]. curl2code detectează Bearer tokens atât din flag-urile -H "Authorization: Bearer ...", cât și din --oauth2-bearer. Pentru Basic auth, utilizează -u user:pass.
Cum se setează antetul Content-Type în Elixir?
curl2code convertește curl -H "Content-Type: application/json" URL în cod HTTPoison cu antetul corect: [{'Content-Type', 'application/json'}]. Pentru datele -d, curl folosește implicit application/x-www-form-urlencoded; pentru încărcările de formulare -F, folosește multipart/form-data. curl2code mapează fiecare opțiune către API-ul HTTPoison corect.
Linkuri utile
Ghiduri curl
Coduri de eroare curl
Caută orice cod de ieșire curl — cauze, rezolvări și sfaturi de depanare.
Descărcarea fișierelor cu curl
Salvează fișiere cu -o, -O, urmează redirecționări, reia descărcări și multe altele.
SSL, TLS și proxy
Configurează certificate, versiuni TLS, proxy-uri HTTP/SOCKS și DNS personalizat.