Rumah  >  Artikel  >  hujung hadapan web  >  Membuat Permintaan HTTP dalam Node.js dengan Got

Membuat Permintaan HTTP dalam Node.js dengan Got

WBOY
WBOYasal
2024-08-28 06:06:02477semak imbas

Apabila membina aplikasi dalam Node.js, membuat permintaan HTTP ialah tugas asas, sama ada anda berinteraksi dengan API luaran, mengambil data atau berkomunikasi antara perkhidmatan. Walaupun Node.js mempunyai modul http terbina dalam untuk membuat permintaan, ia bukanlah penyelesaian yang paling mesra pengguna atau kaya dengan ciri. Di situlah perpustakaan seperti Got masuk.

Got ialah klien HTTP yang ringan, kaya ciri dan berasaskan janji untuk Node.js. Ia memudahkan proses membuat permintaan HTTP, menyediakan API yang bersih, percubaan semula automatik, sokongan untuk strim dan banyak lagi. Dalam artikel ini, kami akan meneroka cara menggunakan Got untuk membuat permintaan HTTP dan mengendalikan ralat.

Mengapa Pilih Got untuk Permintaan HTTP?

Sebelum menyelami kod, adalah penting untuk memahami sebab Got menjadi pilihan utama bagi kebanyakan pembangun:

  • API Mudah: Got menyediakan API yang bersih dan intuitif yang memudahkan untuk melaksanakan pelbagai jenis permintaan HTTP.
  • Berasaskan Janji: Got berasaskan janji sepenuhnya, membolehkan anda menggunakan sintaks tak segerak/menunggu untuk kod yang lebih bersih dan lebih mudah dibaca.
  • Cuba Semula Automatik: Got boleh mencuba semula permintaan secara automatik mengenai kegagalan rangkaian atau isu lain, yang amat berguna untuk meningkatkan kebolehpercayaan aplikasi anda.
  • Sokongan untuk Strim: Mendapat sokongan penstriman, yang berguna untuk memuat turun fail besar atau bekerja dengan data dalam ketulan.
  • Boleh disesuaikan: Got sangat boleh disesuaikan, dengan pilihan untuk mengubah suai pengepala, parameter pertanyaan, tamat masa dan banyak lagi.

Memasang Got

Untuk bermula dengan Got, anda perlu memasangnya dahulu dalam projek Node.js anda. Jika anda belum lagi menyediakan projek Node.js, ikut langkah ini:

  1. Mulakan Projek Anda: Buka terminal anda dan buat direktori baharu untuk projek anda:
   mkdir got-http-requests
   cd got-http-requests
   npm init -y

Arahan ini mencipta direktori projek baharu dan memulakannya dengan fail package.json.

  1. Pasang Got: Seterusnya, pasang Got menggunakan npm:
   npm install got

Got kini ditambahkan pada projek anda dan anda boleh mula menggunakannya untuk membuat permintaan HTTP.

Membuat Permintaan HTTP dengan Got

Got memudahkan untuk melaksanakan pelbagai jenis permintaan HTTP. Mari kita lihat beberapa kes penggunaan biasa.

1. Membuat Permintaan GET Asas

Permintaan GET ialah jenis permintaan HTTP yang paling biasa, biasanya digunakan untuk mendapatkan semula data daripada pelayan. Dengan Got, membuat permintaan GET adalah mudah:

const got = require('got');

(async () => {
    try {
        const response = await got('https://jsonplaceholder.typicode.com/posts/1');
        console.log('GET Request:');
        console.log(response.body);
    } catch (error) {
        console.error('Error in GET request:', error.message);
    }
})();
  • Penjelasan:
  • Titik Akhir: https://jsonplaceholder.typicode.com/posts/1 ialah API ujian yang mengembalikan butiran siaran dengan ID 1.
  • Got Syntax: Fungsi got(url) menghantar permintaan GET ke URL yang ditentukan. Maklum balas dikendalikan sebagai janji, membolehkan kami menggunakan menunggu untuk menunggu respons.
  • Respons: Badan respons dilog ke konsol, yang akan mengandungi data JSON siaran.

2. Membuat Permintaan POST

Permintaan POST digunakan untuk menghantar data ke pelayan, selalunya untuk mencipta sumber baharu. Dengan Got, anda boleh menghantar data JSON dengan mudah dalam permintaan POST:

const got = require('got');

(async () => {
    try {
        const response = await got.post('https://jsonplaceholder.typicode.com/posts', {
            json: {
                title: 'foo',
                body: 'bar',
                userId: 1
            },
            responseType: 'json'
        });
        console.log('POST Request:');
        console.log(response.body);
    } catch (error) {
        console.error('Error in POST request:', error.message);
    }
})();
  • Penjelasan:
  • Titik Akhir: https://jsonplaceholder.typicode.com/posts digunakan untuk membuat siaran baharu pada pelayan.
  • Data JSON: Pilihan json dalam permintaan Got membolehkan anda menentukan data yang akan dihantar. Di sini, kami menghantar siaran baharu dengan tajuk, kandungan dan ID pengguna.
  • Respons: Respons pelayan, yang termasuk data yang dihantar bersama ID baharu, dilog masuk ke konsol.

3. Mengendalikan Ralat

Isu rangkaian atau ralat pelayan boleh berlaku semasa permintaan HTTP. Got menyediakan cara mudah untuk menangani ralat ini:

const got = require('got');

(async () => {
    try {
        const response = await got('https://nonexistent-url.com');
        console.log(response.body);
    } catch (error) {
        console.error('Error handling example:', error.message);
    }
})();
  • Penjelasan:
  • URL Tidak Wujud: Contoh ini cuba membuat permintaan GET ke URL yang tidak wujud.
  • Pengendalian Ralat: Mendapat secara automatik membuang ralat apabila permintaan gagal. Blok tangkapan menangkap ralat ini dan log mesej ralat ke konsol.

Ciri Lanjutan Got

Got bukan sekadar membuat permintaan GET dan POST yang mudah. Ia datang dengan beberapa ciri lanjutan yang boleh membantu anda mengendalikan senario yang lebih kompleks.

1. Menyesuaikan Pilihan Permintaan

Got membolehkan anda menyesuaikan permintaan dengan menetapkan pengepala, parameter pertanyaan, tamat masa dan banyak lagi:

const got = require('got');

(async () => {
    try {
        const response = await got('https://jsonplaceholder.typicode.com/posts/1', {
            headers: {
                'User-Agent': 'My-Custom-Agent'
            },
            searchParams: {
                userId: 1
            },
            timeout: 5000
        });
        console.log('Customized Request:');
        console.log(response.body);
    } catch (error) {
        console.error('Error in customized request:', error.message);
    }
})();
  • Explanation:
  • Headers: You can set custom headers using the headers option. Here, we set a custom User-Agent.
  • Query Parameters: The searchParams option allows you to add query parameters to the URL.
  • Timeout: The timeout option sets the maximum time (in milliseconds) the request can take before throwing an error.

2. Streaming with Got

Got supports streaming, which is useful for handling large data or working with files:

const fs = require('fs');
const got = require('got');

(async () => {
    const downloadStream = got.stream('https://via.placeholder.com/150');
    const fileWriterStream = fs.createWriteStream('downloaded_image.png');

    downloadStream.pipe(fileWriterStream);

    fileWriterStream.on('finish', () => {
        console.log('Image downloaded successfully.');
    });
})();
  • Explanation:
  • Streaming: The got.stream(url) function initiates a streaming GET request. The data is piped directly to a writable stream, such as a file.
  • File Writing: The fs.createWriteStream() function is used to write the streamed data to a file.

Making HTTP Requests in Node.js with Got

Download the source code here.

Conclusion

Got is a versatile and powerful library for making HTTP requests in Node.js. It simplifies the process of interacting with web services by providing a clean and intuitive API, while also offering advanced features like error handling, timeouts, and streams. Whether you’re building a simple script or a complex application, Got is an excellent choice for handling HTTP requests.

By using Got, you can write cleaner, more maintainable code and take advantage of its robust feature set to meet the needs of your application. So the next time you need to make an HTTP request in Node.js, consider using Got for a hassle-free experience.

Thanks for reading…

Happy Coding!

The post Making HTTP Requests in Node.js with Got first appeared on Innovate With Folasayo.

The post Making HTTP Requests in Node.js with Got appeared first on Innovate With Folasayo.

Atas ialah kandungan terperinci Membuat Permintaan HTTP dalam Node.js dengan Got. 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