alat permintaan http nodejs

王林
Lepaskan: 2023-05-08 19:32:35
asal
648 orang telah melayarinya

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/');
});
Salin selepas log masuk

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
Salin selepas log masuk

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.
});
Salin selepas log masuk

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
Salin selepas log masuk

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)
  })
Salin selepas log masuk

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);
});
Salin selepas log masuk

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);
  });
Salin selepas log masuk
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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!