Tukar curl ke Ruby

curl2code menukar arahan curl kepada kod Ruby menggunakan pustaka net/http standard. Semuanya berjalan secara tempatan dalam pelayar anda melalui WebAssembly untuk privasi lengkap. Jika anda lebih suka Python, lihat penukar curl ke Python kami. Untuk Elixir, lihat curl ke Elixir. Di bawah adalah contoh Ruby praktikal.

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 Ruby net/http?

net/http Ruby ialah klien HTTP pustaka standard yang disertakan dengan setiap pemasangan Ruby. Ia mengendalikan GET, POST, muat naik multipart, SSL, dan pengepala tersuai. Tiada pemasangan gem diperlukan. curl2code juga menyokong HTTParty, gem popular yang memudahkan corak HTTP biasa dengan API deklaratif yang bersih.

net/http vs HTTParty vs Faraday — yang mana patut saya gunakan?

net/http adalah terbina dalam dan bebas kebergantungan — bagus untuk tugas mudah dan skrip. HTTParty menyediakan DSL yang bersih dengan penghuraian JSON automatik. Faraday menawarkan perisian tengah, corak penyesuai, dan fleksibiliti yang paling tinggi. Untuk kemudahan penskripan yang serupa, lihat penukar curl ke Python atau curl ke PHP.

Bagaimana cara mengendalikan pengesahan dalam Ruby?

Dengan net/http: request["Authorization"] = "Bearer token". Untuk pengesahan Basic: request.basic_auth("user", "pass"). HTTParty menggunakan headers: { "Authorization" => "Bearer token" } atau basic_auth: { username: "user", password: "pass" }. curl2code mengendalikan kedua-dua bendera -u dan pengepala.

Bagaimana cara menghantar data borang multipart dalam Ruby?

Dengan net/http, gunakan gem multipart-post atau bina badan multipart secara manual menggunakan Net::HTTP::Post dengan rentetan sempadan. HTTParty memudahkan ini dengan body: { file: File.open("path") }. curl2code menukar bendera -F untuk kedua-dua varian pustaka.

Bagaimana cara mengendalikan ralat HTTP dalam Ruby?

Dengan net/http, semak response.is_a?(Net::HTTPSuccess) atau gunakan response.value yang membangkitkan ralat pada status bukan 2xx. HTTParty mengembalikan objek respons dengan kaedah .success? dan .code. Untuk sambungan berterusan, selamatkan Errno::ECONNREFUSED dan Net::ReadTimeout.

Bagaimana cara membuat permintaan HTTP serentak dalam Ruby?

Pustaka standard Ruby adalah sinkron. Gunakan Thread.new { ... } untuk keserentakan asas atau gem concurrent-ruby untuk kolam benang (thread pools). Untuk I/O asinkron, gunakan async-http dengan gem Async. Typhoeus menyediakan baris gilir permintaan selari. Untuk sokongan asinkron terbina dalam, lihat curl ke Elixir.

Bagaimana cara menetapkan had masa tamat dalam Ruby?

Dengan net/http: http.open_timeout = 10 (sambungan) dan http.read_timeout = 30 (respons). HTTParty menerima pilihan timeout: 30. Ini dipetakan kepada --connect-timeout dan --max-time pada curl. Sentiasa tetapkan had masa tamat untuk mengelakkan permintaan yang tergantung selama-lamanya.

Bagaimana cara menggunakan proksi dalam Ruby?

Dengan net/http: Net::HTTP.new(host, port, proxy_host, proxy_port). Atau tetapkan pembolehubah persekitaran http_proxy dan https_proxy — Ruby menghormati ini secara automatik. HTTParty menggunakan pilihan http_proxy: 'http://proxy:8080'. curl2code menukar bendera -x kepada sintaks Ruby yang betul.

Bagaimana cara menghantar permintaan POST dengan badan JSON dalam Ruby?

Tukar perintah curl POST seperti curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL ke Ruby menggunakan curl2code. Kod yang dihasilkan menggunakan Net::HTTP.post(uri, data.to_json, 'Content-Type' => 'application/json'). curl2code mengesan bendera -d/--data secara automatik dengan kandungan JSON dan menetapkan pengepala Content-Type yang sesuai dalam kod net/http.

Bagaimana cara menambah kebenaran token Bearer dalam Ruby?

Masukkan curl -H "Authorization: Bearer YOUR_TOKEN" URL ke curl2code dan ia akan menghasilkan kod net/http dengan pengepala auth: req['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 Ruby?

curl2code menukar curl -H "Content-Type: application/json" URL kepada kod net/http dengan pengepala yang betul: req['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 net/http yang betul.

Pautan Berguna

Panduan curl

Tukar curl ke Bahasa Lain