Pustaka `libcurl`
(everything.curl.dev)Menggunakan --libcurl
- Disarankan menggunakan libcurl: Pengguna disarankan untuk terlebih dahulu mencoba transfer yang diinginkan dengan alat baris perintah curl, lalu ketika sudah kurang lebih bekerja seperti yang diinginkan, jalankan lagi dengan menambahkan opsi
--libcurl [nama_file]pada baris perintah. - Pembuatan kode: Opsi baris perintah
--libcurlmenghasilkan program C dengan nama file yang diberikan. Program C ini menggunakan libcurl untuk menjalankan transfer yang dilakukan alat baris perintah curl. - Pengecualian dan perbedaan: Hasilnya tidak selalu 100% sama, tetapi dapat memberi inspirasi yang sangat baik mengenai opsi libcurl dan argumen tambahan yang ingin digunakan.
Contoh kode
- Contoh eksekusi: Menjalankan perintah
curl http://example.com --libcurl example.cakan membuat fileexample.cdi direktori saat ini. - Kode yang dihasilkan: Kode yang dihasilkan mencakup berbagai pengaturan opsi menggunakan
curl_easy_setopt(), dan beberapa opsi tidak mudah dihasilkan langsung sebagai source code sehingga pengguna mungkin perlu mengimplementasikannya sendiri atau tidak menggunakannya.
Opini GN⁺
- Kegunaan libcurl: Fitur ini memungkinkan pengembang dengan mudah mengubah perintah curl yang berfungsi di baris perintah menjadi program C, sehingga mempercepat pengembangan aplikasi yang menggunakan libcurl.
- Keunggulan pembuatan kode: Kode yang dihasilkan secara otomatis dapat membantu pengembang memahami dan menerapkan API libcurl dengan lebih cepat.
- Nilai sebagai alat pembelajaran: Ini bisa menjadi materi pembelajaran yang baik bagi insinyur perangkat lunak pemula untuk melihat opsi libcurl dan contoh penerapan nyata pemrograman jaringan.
1 komentar
Komentar Hacker News
Pola mencari request yang diinginkan di tab Network pada developer tools browser, menyalinnya dengan “copy as curl”, lalu mengonversinya menjadi kode request untuk bahasa yang dipakai dengan alat seperti https://curlconverter.com/ sangat bagus
Dalam beberapa hal, curl dipakai seperti representasi perantara yang bisa diterjemahkan ke mana saja
curl_translatedari paket httr2, penulisan ulang terbaru dari httrhttps://httr2.r-lib.org/reference/curl_translate.html
“copy as curl” dari browser membawa header autentikasi dan encoding dalam kondisi yang pasti berfungsi, sehingga jauh lebih praktis daripada mengutak-atik sendiri perintah curl multi-baris
Parameter request bisa diubah lalu dikirim ke instance lokal, dan output juga bisa dipipe ke
jquntuk merapikan formatnyaKarena begitu luas dipakai, muncul alat yang mengekspor request ke cURL dan juga alat yang mengimpor cURL
Cukup keren bahwa command-line interface punya flag yang mengeluarkan source code program yang melakukan hal yang sama dengan perintah saat ini
Rasanya seperti membuka kap mesin dan menunjukkan apa yang terjadi di dalam; bukan hanya membantu memahami perilakunya lebih baik, tetapi juga memudahkan untuk memodifikasi atau memperluasnya sesuai kebutuhan
Jika sedang memakai
libcurllalu membutuhkan sesuatu seperti range request, atau menekan “copy as curl” dari tab Network browser, Anda bisa menjalankannya di command line lalu menambahkan--libcurlsaja untuk mengetahui persis bagaimana melakukannya dengan library CPendekatan seperti ini adalah salah satu alasan makro Visual Basic Microsoft Office sukses
Anda bisa melakukan tindakan di Word atau Excel, melihat makro yang dihasilkan, lalu menyesuaikan kodenya sesuai kebutuhan. Konsepnya sederhana tetapi kuat, jadi menyenangkan melihatnya juga di curl
Sepertinya sudah lama tidak diperbarui: https://github.com/dotnet/Open-XML-SDK/releases/tag/v2.5
AREXX dari Amiga juga terlintas di pikiran
Untuk mengompilasi, Anda perlu memberi tahu
gccagar melakukan link ke libcurl, misalnya dengan menambahkan-lcurlContohnya, buat alamat IP dan
ip_fetcher.cdengancurl https://ifconfig.me --libcurl ip_fetcher.c, kompilasi dengangcc -o ip_fetcher ip_fetcher.c -lcurl, lalu jalankan./ip_fetcher; alamat IP akan tercetakBagi orang yang tidak menulis kode C setiap hari, langkah linking dasar seperti ini juga merupakan informasi yang berguna
makedaripada mengetik perintahcclangsung, ada cara yang lebih mudahSetelah
curl https://ifconfig.me --libcurl ip_fetcher.c, jalankanmake LDFLAGS=-lcurl ip_fetcher, lalu./ip_fetcherSedikit promosi: Hurl adalah CLI open source yang menggunakan libcurl untuk menjalankan dan menguji request HTTP dalam teks biasa
Dengan memanfaatkan keandalan tinggi libcurl dan fitur seperti HTTP/3, Hurl menambahkan kemampuan merangkai request, menangkap data dari respons lalu meneruskannya ke request berikutnya, serta pengujian respons seperti JSONPath dan XPath
Ada juga syntactic sugar untuk request REST/SOAP/GraphQL API, tetapi intinya tetap libcurl, dan dengan opsi verbose Anda juga bisa meng-grep perintah curl. Saya ikut mengelolanya
https://hurl.dev
Akan bagus jika fitur seperti ini juga memungkinkan di ffmpeg
Daniel Stenberg benar-benar sangat teliti memperhatikan detail serta pengalaman developer dan pengguna
Tingkat pemolesan seperti ini luar biasa
Saya ingat Daniel Stenberg sendiri menyebut opsi ini dalam video 3 jam yang menelusuri sebagian besar opsi command-line curl
https://www.youtube.com/watch?v=V5vZWHP-RqU
Judul kiriman seharusnya memakai dua tanda hubung (
--), bukan kombinasi em dash lebar penuh dan tanda hubung (—-)Apakah maksudnya opsi ini membuat program C yang bisa dikompilasi untuk menggantikan skrip yang membungkus pemanggilan curl asli?
libcurlsebenarnya ini memang sudah mungkin, tetapi selama ini kita harus menulis sendiri kode boilerplate-nyaLebih tepat melihatnya sebagai titik awal yang menghindarkan Anda dari membongkar dokumentasi selama berjam-jam