Rumah  >  Artikel  >  hujung hadapan web  >  alat permintaan http nodejs

alat permintaan http nodejs

王林
王林asal
2023-05-08 19:32:35621semak imbas

Node.js ialah persekitaran pembangunan yang sangat popular, dan enjin JavaScriptnya yang berkuasa boleh menyediakan aplikasi web yang cekap. Dalam pembangunan web, permintaan dan respons HTTP sering diperlukan, yang memerlukan penggunaan beberapa alat permintaan HTTP. Artikel ini terutamanya akan memperkenalkan alat permintaan HTTP yang biasa digunakan dalam Node.js.

1. Modul HTTP terbina dalam Node.js

Node.js mempunyai modul HTTP terbina dalam sendiri, yang boleh membuat perkhidmatan HTTP dengan mudah. Dalam modul HTTP, banyak API permintaan dan tindak balas yang berkaitan disediakan, melibatkan pembacaan pengepala permintaan HTTP dan badan permintaan, output pengepala respons dan badan tindak balas, dsb., yang sangat mudah digunakan. Berikut ialah kod yang menggunakan modul HTTP untuk mencipta pelayan:

const http = require('http');

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World!');
});

server.listen(3000, () => {
  console.log('Server running at http://localhost:3000/');
});

2 Gunakan permintaan modul pihak ketiga

Walaupun Node.js mempunyai modul HTTP terbina dalam, ia. API mungkin tahap terlalu rendah Penggunaan Ia tidak begitu mudah untuk bangun. Oleh itu, kami juga boleh memilih untuk menggunakan modul pihak ketiga, seperti modul permintaan. Mula-mula gunakan npm untuk memasang:

npm install request

Modul permintaan menyediakan API yang lebih mudah yang boleh melengkapkan permintaan HTTP dengan cepat dan mendapatkan data respons. Berikut ialah contoh menggunakan modul permintaan untuk menghantar permintaan GET:

const request = require('request');

request('http://www.baidu.com', function (error, response, body) {
  console.error('error:', error); // Print the error if one occurred
  console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received
  console.log('body:', body); // Print the HTML for the Google homepage.
});

3 Gunakan axios modul pihak ketiga

Selain modul permintaan, terdapat juga sangat. alat permintaan HTTP yang berkuasa - axios. Ia adalah klien HTTP berasaskan Promise yang boleh digunakan dalam penyemak imbas dan Node.js. axios mempunyai ciri berikut:

  1. boleh memintas permintaan dan respons.
  2. Tukar data JSON secara automatik.
  3. Menyokong permintaan pembatalan.
  4. Anda boleh menetapkan pengepala permintaan lalai dan parameter permintaan.
  5. Lebih dipercayai dan ringan.

Gunakan npm untuk memasang:

npm install axios

Berikut ialah contoh penggunaan axios untuk menghantar permintaan GET:

const axios = require('axios')

axios.get('https://api.github.com/users/johnny4120')
  .then(function (response) {
    console.log(response.data)
  })
  .catch(function (error) {
    console.log(error)
  })

4

Apabila membuat permintaan, beberapa parameter sering dibawa dan modul berbeza mengendalikannya secara berbeza. Apabila menggunakan modul permintaan untuk membuat permintaan, anda boleh menggunakan modul rentetan pertanyaan untuk menukar objek menjadi rentetan parameter permintaan, atau anda boleh menggunakan parameter json secara langsung. Contohnya:

const querystring = require('querystring');
const request = require('request');

const options = {
  url: 'https://www.google.com/search',
  qs: {
    q: 'node.js'
  }
};

request(options, function(error, response, body) {
  console.log(body);
});

// 或者

request.post({
  url: 'http://www.example.com',
  json: {key: 'value'}
}, function(error, response, body) {
  console.log(body);
});

Apabila menggunakan modul axios, anda boleh menggunakan parameter params untuk menukar objek kepada rentetan pertanyaan atau anda boleh menggunakan parameter data:

const axios = require('axios');

axios.get('https://api.github.com/search/repositories', {
  params: {
    q: 'node',
    sort: 'stars',
    order: 'desc'
  }
})
  .then(function (response) {
    console.log(response.data);
  })
  .catch(function (error) {
    console.log(error);
  });

// 或者

axios.post('http://www.example.com', {foo: 'bar'})
  .then(function (response) {
    console.log(response.data);
  })
  .catch(function (error) {
    console.log(error);
  });

Ringkasnya, terdapat adalah banyak kaedah dalam Node.js Terdapat beberapa alatan permintaan HTTP untuk dipilih, setiap satunya mempunyai senario yang berkenaan. Memilih alat yang paling sesuai berdasarkan keperluan projek akan menjadikan pembangunan lebih cekap dan mudah.

Atas ialah kandungan terperinci alat permintaan http nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn