Rumah  >  Artikel  >  hujung hadapan web  >  permintaan permintaan nodejs

permintaan permintaan nodejs

PHPz
PHPzasal
2023-05-08 09:58:381253semak imbas

Node.js ialah persekitaran masa jalan JavaScript berdasarkan enjin Chrome V8 yang memudahkan untuk membina aplikasi web berprestasi tinggi dan berskala. Antaranya, modul permintaan ialah modul permintaan rangkaian yang sangat biasa digunakan dalam Node.js. Ia membolehkan kami menghantar permintaan HTTP/HTTPS dalam Node.js. Artikel ini akan memperkenalkan cara menggunakan modul permintaan dan cara memproses data yang dikembalikan oleh permintaan.

1 Pasang modul permintaan

Sebelum menggunakan modul permintaan, anda perlu memasang modul permintaan terlebih dahulu. Hanya masukkan arahan berikut dalam konsol:

$ npm install request --save

Ini akan memasang modul permintaan ke dalam projek anda dan menambahkannya pada fail package.json.

2. Hantar permintaan GET

Menghantar permintaan GET adalah sangat mudah, hanya gunakan kaedah permintaan modul permintaan. Berikut ialah contoh mudah:

const request = require('request');

request('https://api.github.com/users/octocat', (error, response, body) => {
  console.log('statusCode:', response && response.statusCode);
  console.log('body:', body);
});

Contoh ini akan menghantar permintaan GET kepada API pengguna GitHub untuk menanyakan maklumat pengguna dengan nama pengguna octocat. Cara menghantar permintaan adalah sangat mudah Anda hanya perlu menghubungi kaedah permintaan dan masukkan URL yang diminta.

Parameter fungsi panggil balik ialah ralat, tindak balas dan badan. Antaranya, ralat mewakili ralat permintaan; respons mewakili objek respons, yang mengandungi maklumat seperti pengepala respons dan kod respons mewakili badan respons, iaitu data yang dikembalikan oleh API.

3. Hantar permintaan POST

Menghantar permintaan POST juga sangat mudah Anda hanya perlu menetapkan parameter kedua (iaitu pilihan) kaedah permintaan kepada maklumat permintaan tertentu. Berikut ialah contoh menggunakan kaedah POST untuk menambah repo bernama ujian pada API GitHub:

const request = require('request');

const options = {
  url: 'https://api.github.com/user/repos',
  headers: {
    'User-Agent': 'request'
  },
  json: true,
  body: {
    name: 'test'
  },
  auth: {
    'user': 'username',
    'pass': 'password'
  }
};

request.post(options, (error, response, body) => {
  console.log('statusCode:', response && response.statusCode);
  console.log('body:', body);
});

Dalam contoh ini, kami menetapkan url kepada https://api.github.com/user/repos , Itulah API GitHub untuk mencipta gudang. Pengepala termasuk Ejen Pengguna, menunjukkan bahawa permintaan telah dihantar melalui permintaan. Badan ialah data yang ingin kami hantar, iaitu nama repo yang ingin kami buat pada GitHub Jika json ditetapkan kepada benar, ini bermakna data yang dihantar adalah dalam format JSON. auth bermaksud pengesahan diperlukan, termasuk nama pengguna dan kata laluan.

4. Memproses data respons

Selepas menghantar permintaan, kami perlu memproses data respons. Untuk data dalam format JSON, ia boleh dihuraikan terus ke dalam objek JavaScript. Berikut ialah contoh menghuraikan data JSON yang dikembalikan oleh API GitHub ke dalam objek JavaScript:

const request = require('request');

request('https://api.github.com/users/octocat', {json: true}, (error, response, body) => {
  console.log('statusCode:', response && response.statusCode);
  console.log('login:', body.login);
  console.log('name:', body.name);
});

Dalam contoh ini, kami menetapkan json dalam pilihan kepada benar, yang bermaksud bahawa apabila menerima data respons, ia adalah dihuraikan secara automatik ke dalam siri JSON Tukar kepada objek JavaScript. Dalam fungsi panggil balik, kita boleh terus mengakses sifat log masuk dan nama dalam badan respons.

Untuk data dalam format lain, kami boleh menggunakan perpustakaan penghuraian yang sepadan untuk penghuraian. Contohnya, untuk data dalam format HTML, anda boleh menggunakan pustaka cheerio untuk menghurai. Berikut ialah contoh penggunaan cheerio untuk menghuraikan hasil carian Baidu:

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

request('https://www.baidu.com/s?wd=nodejs', (error, response, body) => {
  const $ = cheerio.load(body);
  $('h3.t a').each((i, el) => {
    console.log($(el).text());
    console.log($(el).attr('href'));
  });
});

Dalam contoh ini, kami meminta hasil nodej kata kunci carian Baidu melalui permintaan. Gunakan kaedah muat cheerio untuk menukar data HTML kepada objek DOM yang boleh dimanipulasi. Seterusnya, kami memilih elemen h3.t melalui pemilih dan gelung melalui setiap elemen. Di dalam gelung, kami membalut elemen dengan $() untuk mendapatkan teks elemen dan nilai atribut href dengan mudah.

5. Ringkasan

Di atas ialah kaedah asas untuk menghantar permintaan HTTP/HTTPS menggunakan modul permintaan Node.js. Melalui modul ini, kami boleh menghantar permintaan GET, POST, dsb. dengan mudah dan memproses data yang dikembalikan oleh permintaan tersebut. Walaupun modul ini sangat mudah, anda perlu memberi perhatian khusus kepada keselamatan apabila menggunakannya, terutamanya apabila menghantar permintaan POST, parameter permintaan perlu disulitkan.

Atas ialah kandungan terperinci permintaan permintaan 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
Artikel sebelumnya:vue data hide paparanArtikel seterusnya:vue data hide paparan