Rumah >hujung hadapan web >tutorial js >Membuat Permintaan HTTP di Node.js
3
Dalam artikel sebelumnya, saya telah memberi tumpuan kepada membuat pelayan Node.js untuk mengendalikan permintaan HTTP. Artikel ini melihat masalah secara terbalik, dengan menunjukkan cara membuat permintaan HTTP dari aplikasi Node.js anda. Anda mungkin bertanya pada diri sendiri mengapa anda mahu melakukannya. Dua aplikasi datang ke fikiran - mengikis web dan proksy. Pengikis adalah kepingan perisian yang memuat turun laman web dan mengekstrak maklumat secara programatik dari mereka. Pelayan proksi bertindak sebagai perantara, menghantar permintaan klien ke pelayan lain dan mengembalikan respons.
Takeaways Key
Modul Permintaan dalam Node.js adalah alat yang mudah dan fleksibel untuk membuat permintaan HTTP, termasuk Get, Post, Put, dan Delete. Ia sesuai untuk berinteraksi dengan API yang tenang dan boleh digunakan untuk tugas -tugas seperti mengikis web dan proksi.
npm install request
Modul permintaan juga boleh digabungkan dengan modul sistem fail untuk menstrim permintaan HTTP ke dan dari fail. Contoh berikut sekali lagi mengambil JSPRO. Walau bagaimanapun, bukannya memaparkan kod sumber dalam konsol, ia ditulis kepada fail bernama "JSPRO.HTM".
npm install request
Contoh -contoh sebelumnya telah mencipta permintaan mudah untuk URL. Walau bagaimanapun, kami boleh mengubah suai permintaan HTTP dengan meluluskan objek konfigurasi sebagai hujah pertama yang diminta (). Contoh berikut menggunakan sintaks yang lebih kuat untuk memuat turun JSPRO. Perhatikan banyak parameter konfigurasi. Parameter URI dan Kaedah memberitahu permintaan untuk menghantar permintaan GET ke JSPRO.
<span>var request = require("request"); </span><span>request("http://www.sitepoint.com", function(error<span>, response, body</span>) { </span> <span>console.log(body); </span><span>});</span>Parameter masa tamat memberitahu permintaan untuk menunggu 10,000 milisaat (sepuluh saat) untuk respons sebelum menyerah. Dua parameter akhir berurusan dengan pengalihan berikut. Banyak halaman melakukan pengalihan di belakang tabir tanpa pengetahuan pengguna. Parameter FollowRedirect dan MaxRedirects mengarahkan permintaan untuk menindaklanjuti sehingga sepuluh 3
xx pengalihan http. Juga, perhatikan bahawa permintaan () menyokong banyak parameter lain yang tidak ditunjukkan di sini.
Mengemukakan data borang
<span>var request = require("request"); </span><span>var fs = require("fs"); </span><span>request("http://www.sitepoint.com").pipe(fs.createWriteStream("jspro.htm"));</span>
Apabila respons diterima, pengguna akan disambut sebagai John, nama yang disimpan dalam kuki. Jar kuki juga dikemas kini dengan sebarang perubahan yang dibuat oleh pelayan. Jika anda mencetak balang cookie sebelum dan selepas permintaan, anda akan melihat bahawa pelayan menukar nilai cookie dari "John" kepada "orang asing". Jar kuki yang sama boleh diserahkan kepada permintaan HTTP berturut -turut untuk meniru interaksi pengguna sebenar dengan tapak.
<span>var request = require("request"); </span><span>request({ </span> <span>uri: "http://www.sitepoint.com", </span> <span>method: "GET", </span> <span>timeout: 10000, </span> <span>followRedirect: true, </span> <span>maxRedirects: 10 </span><span>}, function(error<span>, response, body</span>) { </span> <span>console.log(body); </span><span>});</span>Kesimpulan
Artikel ini telah memperkenalkan modul permintaan yang mudah, namun berkuasa. Oleh kerana artikel ini tidak komprehensif, saya cadangkan sekurang -kurangnya melayari dokumentasi untuk melihat apa yang boleh dilakukan oleh permintaan lagi. Nantikan artikel yang akan datang yang akan meliputi pengikis web menggunakan permintaan dengan lebih mendalam.
Dan jika anda suka membaca siaran ini, anda akan suka dipelajari; Tempat untuk mempelajari kemahiran dan teknik segar dari Sarjana. Ahli mendapat akses segera ke semua ebook dan kursus dalam talian interaktif SitePoint, seperti Jump Start JavaScript.
Komen mengenai artikel ini ditutup. Ada soalan mengenai JavaScript? Mengapa tidak bertanya di forum kami?
anda boleh membuat permintaan HTTP dalam node.js menggunakan modul HTTP atau HTTPS terbina dalam untuk kawalan peringkat rendah, atau anda boleh menggunakan perpustakaan pihak ketiga seperti axios, node-fetch, atau modul permintaan untuk dipermudahkan dan lebih tinggi -LEVEL HTTP Permintaan.
Perpustakaan pihak ketiga menawarkan lebih banyak API yang mesra pengguna, sokongan berasaskan janji atau async/menunggu, dan menambah ciri-ciri seperti pengendalian permintaan/tindak balas dan parsing JSON automatik, menjadikan mereka pilihan yang popular untuk pemaju. 🎜> Apakah perbezaan antara permintaan GET dan pos di Node.js?
Dapatkan permintaan digunakan untuk mendapatkan data dari pelayan, sementara permintaan pos digunakan untuk menghantar data ke pelayan untuk pemprosesan atau penyimpanan, sering digunakan dalam borang atau permintaan API. Dapatkan dan permintaan pos dengan modul HTTP terbina dalam di Node.js?Permintaan segerak menyekat gelung acara sehingga permintaan selesai, sedangkan permintaan tak segerak membolehkan permohonan anda terus memproses tugas lain sambil menunggu respons. Dalam node.js?
anda boleh mengendalikan kesilapan dengan menggunakan blok cuba/menangkap untuk permintaan segerak, dan dengan menambahkan pengendalian ralat dalam panggilan balik atau menggunakan janji untuk permintaan asynchronous. Node.js?Untuk membuat permintaan HTTP berganda serentak, anda boleh menggunakan ciri -ciri asynchronous seperti janji atau async/menunggu, atau anda boleh menggunakan perpustakaan yang menyokong pengendalian permintaan selari.
Atas ialah kandungan terperinci Membuat Permintaan HTTP di Node.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!