Bỏ qua đến nội dung
Bỏ qua điều hướng
Đăng nhập
MT.NET.VN

Viewbh Nodejs Basic Tut 14 Tao Client Request Trong Node Js2023 04 06 03 18 55

Tìm kiếm
Thuộc khóa học · baihoc_sub = 20

Nodejs Framework cơ bản

Bài 1 / 1 trong khóa học.

Xem khóa học
100%
Bài trướcĐây là bài đầu tiên Bài sauĐây là bài cuối cùng
MT LEARNING · LESSON

NodeJS Basic tut 14:Tạo Client Request trong Node.js

Nguồn : toidicode.com Trong các ngôn ngữ lập trình bậc cao, đều hỗ trợ chúng ta tạo ra các request đến server […]

NodeJS Basic tut 14:Tạo Client Request trong Node.js

Nguồn : toidicode.com

Trong các ngôn ngữ lập trình bậc cao, đều hỗ trợ chúng ta tạo ra các request đến server khác, đối với node.js thì chúng ta cũng có thể thực hiện được điều này bằng việc sử dụng module http, nhưng trong phạm vi bài này mình sẽ giới thiệu với mọi người sử dụng module request trên npm của tác giả mikeal.Mục Lục

1, Cài đặt module request.

Như mình đã nói ở phía trên, thì do module request là một module do lập trình viên phát triển dựa trên module http của Node.js nên để sử dụng được nó thì chúng ta cần phải cài đặt. Cú pháp cài đặt như sau:

npm install request

Sau khi cài đặt xong thì bạn cần phải require nó vào dự án của mình theo cú pháp thông thường (như những bài trước)

let request = require('request');

2, Sử dụng.

Để gửi một request thông thường trong module request thì bạn chỉ việc sử dụng cú pháp sau:

request(url, function (err, res, body));

Trong đó:

  • request là biến mà bạn ánh xạ module request.
  • err là biến dùng để chứa lỗi nếu có.
  • res là biến dùng để chứa thông tin server trả về.
  • body là biến dùng để chứa body mà server trả về. 

VD:  Mình sẽ gửi một request đến site toidicode.com từ local và in ra các tham số nếu có!

let request = require('request');  request('https://toidicode.com', function (err, res, body) {     //nếu có lỗi     if (err)         throw err;     //in ra header     console.log(res);     //in ra body nhận được     console.log(body); })

Nếu như bạn muốn sử dụng RESful API  thì module request cũng hỗ trợ bạn một cách đơn giản. Bạn chỉ cần trỏ đến các phương thức mà bạn muốn sử dụng với các phương thức mà module request hỗ trợ chúng ta như sau:

Method Mô Tả
request.get() Gửi request với phương thức GET.
request.post() Gửi request với phương thức POST.
request.put() Gửi request với phương thức PUT.
request.patch() Gửi request với phương thức PATCH.
request.del() Gửi request với phương thức DELETE.
request.head() Gửi request với phương thức HEAD.
request.options() Gửi request với phương thức OPTIONS.

VD: Mình sẽ gửi một post request đến site toidicode.com.

let request = require('request');  request.post('https://toidicode.com', function (err, res, body) {     //nếu có lỗi     if (err)         throw err;     //in ra header     console.log(res);     //in ra body nhận được     console.log(body); })

Ngoài ra thì bạn cũng có thể cấu hình các thông số cho request gửi đi theo cú pháp:

request(options, function (err, res, body) {     //code });

Trong đó: options là object chứa các thông số cho request mà bạn muốn gửi. Các thông số này bao gồm các tham số như sau:

  • uri – url của request muốn gửi.
  • method – phương thức gửi request.
  • timeout – thời gian timeout tối đa (đơn vị mili giây).
  • followRedirect  – cấu hình xem có cho phép redirect không.
  • maxRedirect –  số lượng redirect tối đa cho request.
  • multipart – cấu hình file upload lên nếu có.
  • form – object cấu hình các dữ liệu form gửi đi kèm.
  • … xem thêm

VD:

let request = require('request');  request({     uri: 'https://toidicode.com',     method: 'GET',     timeout: 10000 //equal 10s }, function(err, res, body) {     //nếu có lỗi     if (err)         throw err;     //in ra header     console.log(res);     //in ra body nhận được     console.log(body); })

Và bạn cũng có thể sử dụng để pass qua HTTP authentication với cú pháp sau:

request.get('http://address.com/').auth('username', 'password', false); // hoặc request.get('http://address.com/', {   'auth': {     'user': 'username',     'pass': 'password',     'sendImmediately': false   } }); // hoặc request.get('http://address.com/').auth(null, null, true, 'bearerToken'); // hoặc request.get('http://address.com/', {   'auth': {     'bearer': 'bearerToken'   } });

Không những để bạn còn có thể sử dụng cookie được luôn.

VD:

let request = require('request');  let jar = request.jar();  let cookie = request.cookie("name=Vu Thanh Tai");  let url="http://www.cjihrig.com/development/php/hello_cookies.php";  jar.setCookie(cookie, url); request({     uri: url,     method: "GET",     jar: jar, }, function(error, response, body) {     console.log(body); });

Và bạn cũng có thể nhập dữ liệu vào một file hoặc xuất dữ liệu trong file lên server.

VD: Mình sẽ nhập cookie nhận được từ server vào file cookie.txt.

let fs = require('fs'); let request = require('request'); let jar = request.jar(); let cookie = request.cookie("name=Vu Thanh Tai"); let url="http://www.cjihrig.com/development/php/hello_cookies.php";  jar.setCookie(cookie, url); request({     uri: url,     method: "GET",     jar: jar, }).pipe(fs.createWriteStream('cookie.txt'));

3, Lời kết.

Phía trên chỉ là những gì cơ về module request thôi, còn thực sự nếu như bạn nào muốn tìm hiểu chi tiết và nâng cao hơn thì có thể tham khảo tại đây.



Post Views:
24

ĐÁNH GIÁ NỘI DUNG 0.0/5 0 lượt đánh giá
Bạn thấy nội dung này thế nào?
Mỗi trình duyệt/tài khoản được chấm lại sau 24 giờ.
Báo bài lỗiGiúp MT.Net.VN phát hiện nội dung cần kiểm tra
Báo lỗi được ghi vào hệ thống để Admin kiểm tra. Không dùng chức năng này để gửi hỗ trợ cá nhân.
Home Dịch vụ Khóa học CPanel