Tukar curl ke JavaScript

curl2code menukar arahan curl kepada kod JavaScript menggunakan API fetch asli. Semuanya berjalan secara tempatan dalam pelayar anda melalui WebAssembly untuk privasi lengkap. Jika anda memerlukan kod Node.js bahagian pelayan, cuba penukar curl ke Node.js kami. Untuk keselamatan jenis, lihat penukar curl ke TypeScript. Di bawah adalah contoh praktikal untuk corak HTTP yang biasa.

Cara menyalin curl daripada pelayar anda

  1. 1

    Buka DevTools

    Tekan F12 atau Ctrl+Shift+I untuk membuka alat pembangun pelayar anda.

  2. 2

    Pergi ke tab Network

    Klik tab Network dan lakukan tindakan yang mencetuskan permintaan HTTP.

  3. 3

    Salin sebagai cURL

    Klik kanan pada permintaan → CopyCopy as cURL. Kemudian tampalkannya di atas.

Soalan Lazim

Apakah itu API Fetch?

API Fetch ialah antara muka moden berasaskan janji (promise-based) yang terbina dalam semua pelayar untuk membuat permintaan HTTP. Ia menggantikan XMLHttpRequest yang lebih lama dengan API yang lebih bersih dan berkuasa. Fetch menyokong penstriman, objek permintaan/respons, CORS, dan berintegrasi secara semula jadi dengan async/await. Tiada pemasangan diperlukan — ia tersedia secara global. curl2code menggunakan Fetch sebagai output lalai untuk penukaran JavaScript.

Fetch vs XMLHttpRequest vs jQuery.ajax — yang mana patut saya gunakan?

Fetch ialah standard moden — gunakannya untuk projek baharu. XMLHttpRequest adalah legasi tetapi masih berfungsi di mana-mana dan menyokong acara kemajuan secara asli. jQuery.ajax menambah kemudahan jika jQuery sudah ada dalam projek anda. Untuk JavaScript bahagian pelayan, lihat penukar curl ke Node.js. Untuk keselamatan jenis, cuba curl ke TypeScript.

Bagaimana cara mengendalikan pengesahan dengan Fetch?

Hantar pengepala Authorization dalam pilihan headers: fetch(url, { headers: { "Authorization": "Bearer token" } }). Untuk pengesahan Basic, kodkan kelayakan dengan btoa(user + ':' + pass). curl2code mengesan bendera -u dan -H 'Authorization: ...' secara automatik.

Bagaimana cara menghantar data borang multipart dengan Fetch?

Cipta objek FormData dan hantarkannya sebagai badan: fetch(url, { method: "POST", body: formData }). Jangan tetapkan Content-Type secara manual — pelayar akan menambah sempadan multipart secara automatik. curl2code menukar bendera -F kepada FormData.

Bagaimana cara mengendalikan ralat dengan Fetch?

Fetch hanya menolak pada kegagalan rangkaian, bukan ralat HTTP. Sentiasa semak response.ok atau response.status sebelum membaca badan. Balut panggilan dalam try/catch dengan async/await untuk mengendalikan kedua-dua ralat rangkaian dan penghuraian di satu tempat.

Bagaimana cara menggunakan async/await dengan Fetch?

Fetch mengembalikan Promise, jadi gunakan const response = await fetch(url) diikuti oleh const data = await response.json(). Balut dalam blok try/catch untuk pengendalian ralat. Ini lebih bersih daripada rantaian .then() dan merupakan corak yang disyorkan untuk JavaScript moden.

Bagaimana cara menetapkan had masa tamat untuk permintaan Fetch?

Gunakan AbortController: cipta pengawal, hantar { signal: controller.signal } kepada fetch, dan panggil controller.abort() selepas kelewatan dengan setTimeout. Pelayar moden juga menyokong AbortSignal.timeout(5000) sebagai satu baris kod yang lebih mudah. Bendera --max-time pada curl dipetakan kepada corak ini.

Bagaimana cara mengendalikan isu CORS dengan Fetch?

CORS dikuatkuasakan oleh pelayar, bukan oleh Fetch itu sendiri. Tetapkan mode: 'cors' (lalai) dan pastikan pelayan menghantar pengepala Access-Control-Allow-Origin yang betul. Untuk kelayakan (kuki), tambah credentials: 'include'. CORS tidak terpakai pada kod bahagian pelayan — untuk itu, lihat penukar curl ke Node.js.

Bagaimana cara menghantar permintaan POST dengan badan JSON dalam JavaScript?

Tukar perintah curl POST seperti curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL ke JavaScript menggunakan curl2code. Kod yang dihasilkan menggunakan fetch(url, { method: 'POST', body: JSON.stringify(data), headers: {'Content-Type': 'application/json'} }). curl2code mengesan bendera -d/--data secara automatik dengan kandungan JSON dan menetapkan pengepala Content-Type yang sesuai dalam kod fetch.

Bagaimana cara menambah kebenaran token Bearer dalam JavaScript?

Masukkan curl -H "Authorization: Bearer YOUR_TOKEN" URL ke curl2code dan ia akan menghasilkan kod fetch dengan pengepala auth: headers: { 'Authorization': 'Bearer YOUR_TOKEN' }. curl2code mengesan token Bearer daripada kedua-dua bendera -H "Authorization: Bearer ..." dan --oauth2-bearer. Untuk Basic auth, gunakan -u user:pass.

Bagaimana cara menetapkan pengepala Content-Type dalam JavaScript?

curl2code menukar curl -H "Content-Type: application/json" URL kepada kod fetch dengan pengepala yang betul: headers: { 'Content-Type': 'application/json' }. Untuk data -d, curl secara lalai menggunakan application/x-www-form-urlencoded; untuk muat naik borang -F, ia menggunakan multipart/form-data. curl2code memetakan setiap satu ke API fetch yang betul.

Pautan Berguna

Panduan curl

Tukar curl ke Bahasa Lain