Di Node.js , selain menggunakan proses anak untuk membuat panggilan CURL , apakah ada cara untuk membuat panggilan CURL ke server jarak jauh REST API dan mendapatkan data pengembalian?
Saya juga perlu mengatur header permintaan ke panggilan REST jarak jauh , dan juga string permintaan di GET (atau POST).
Saya menemukan ini: http://blog.nodejitsu.com/jsdom-jquery-in-5-lines-on-nodejs
tetapi tidak menunjukkan cara apa pun untuk string kueri POST.
Jawaban:
Melihat
http.request
sumber
Bagaimana dengan menggunakan Permintaan - klien HTTP Sederhana .
Sunting Februari 2020: Permintaan telah usang sehingga Anda mungkin tidak boleh menggunakannya lagi.
Inilah GET:
OP juga menginginkan POST:
sumber
Lihatlah http://isolasoftware.it/2012/05/28/call-rest-api-with-node-js/
sumber
Saya menggunakan node-fetch karena menggunakan API fetch () yang Anda kenal (jika Anda adalah pengembang web ) . fetch () adalah cara baru untuk membuat permintaan HTTP sewenang-wenang dari browser.
Ya saya tahu ini adalah pertanyaan simpul js, tetapi tidakkah kita ingin mengurangi jumlah pengembang API yang harus menghafal dan memahami, dan meningkatkan penggunaan ulang kode javascript kita? Ambil adalah standar jadi bagaimana kalau kita bertemu itu?
Hal menyenangkan lainnya tentang fetch () adalah ia mengembalikan javascript Promise , sehingga Anda dapat menulis kode async seperti ini:
Ambil menggantikan XMLHTTPRequest . Ini beberapa info lebih lanjut .
sumber
node-fetch
ketika menulis API adalah bahwa hanya URL yang berfungsi akan penuh dan tidak akan berfungsi dengan URL relatif.Saya telah menggunakan restler untuk membuat panggilan layanan web, bekerja seperti pesona dan sangat rapi.
sumber
Aksioma
Contoh (axios_example.js) menggunakan Axios di Node.js:
Pastikan dalam direktori proyek Anda Anda melakukannya:
Anda kemudian dapat menguji NEST.js REST API menggunakan browser Anda di:
http://localhost:5000/search?queryStr=xxxxxxxxx
Demikian pula Anda dapat melakukan posting, seperti:
SuperAgent
Demikian pula Anda dapat menggunakan SuperAgent.
Dan jika Anda ingin melakukan otentikasi dasar:
Ref:
sumber
Untuk menggunakan fitur Async / Await terbaru
https://www.npmjs.com/package/request-promise-native
//kode
sumber
satu contoh lain - Anda perlu menginstal modul permintaan untuk itu
sumber
sumber
Saya tidak menemukan satupun dengan CURL jadi saya menulis pembungkus di sekitar node-libcurl dan dapat ditemukan di https://www.npmjs.com/package/vps-rest-client .
Untuk membuat POST seperti ini:
sumber
Jika Anda memiliki Node.js 4.4+, lihat reqclient , memungkinkan Anda untuk membuat panggilan dan mencatat permintaan dengan gaya CURL , sehingga Anda dapat dengan mudah memeriksa dan mereproduksi panggilan di luar aplikasi.
Mengembalikan objek Janji alih-alih meneruskan panggilan balik sederhana, sehingga Anda dapat menangani hasilnya dengan cara yang lebih "mode" , mengaitkan hasilnya dengan mudah, dan menangani kesalahan dengan cara standar. Juga menghapus banyak konfigurasi pelat pada setiap permintaan: URL dasar, batas waktu, format tipe konten, tajuk default, parameter dan kueri yang mengikat dalam URL, dan fitur cache dasar.
Ini adalah contoh cara menginisialisasi, membuat panggilan dan mencatat operasi dengan gaya ikal :
Ini akan masuk ke konsol ...
Dan ketika respons dikembalikan ...
Ini adalah contoh bagaimana menangani respons dengan objek yang dijanjikan:
Tentu saja, hal itu dapat diinstal dengan:
npm install reqclient
.sumber
Anda dapat menggunakan curlrequest untuk dengan mudah mengatur waktu permintaan yang ingin Anda lakukan ... Anda bahkan dapat mengatur header di opsi untuk " memalsukan " panggilan browser.
sumber
Peringatan: Pada 11 Februari 2020, permintaan sudah tidak digunakan lagi.
Jika Anda menerapkan dengan formulir-data, untuk info lebih lanjut ( https://tanaikech.github.io/2017/07/27/multipart-post-request-using-node.js ):
sumber
Saya menemukan superagent sangat bermanfaat, sangat sederhana misalnya
sumber