cURL là gì? và nó liên quan gì đến API

cURL là một  command line tool được các developer sử dụng để chuyển nhận dữ liệu từ các server. Về cơ bản nhất, cURL cho phép bạn giao tiếp với server thông qua vị trí (URL) của server và dữ liệu bạn muốn chuyển. cURL hỗ trợ một số giao thức khác nhau bao gôm HTTP, HTTPS và có thể chạy trên hầu hết các nền tảng. Điều này khiến cho nó trở thành một công cụ hiệu quả để test các API trong quá trình phát triển ứng dụng và kiểm thử.

Lệnh cơ bản nhất trong cURL chúng ta có thể thực hiện là  curl http://example.com. Câu lệnh này sẽ trả về cho chúng ta một số dữ liệu ở dạng HTML của trang web example.com.

Sử dụng cURL để làm gì?

Dưới đây là một số lợi ích mà chúng ta có thể xem xét để sử dụng cURL trong tương lai:

  • Độ linh hoạt cao tương thích với hầu hết hệ điều hành.
  • Đơn giản và có thể sử dụng nhanh chóng để kiểm thử các API.
  • Cho phép cung cấp đầy đủ các thông tin mà chúng ta cần để gửi request hoặc nhận response từ server. Thích hợp để debug ứng dụng.
  • Cung cấp logging và  rate limited.

Thực thi HTTP request với cURL

Chúng ta có thể thực thi các HTTP request với cURL đến API với nhiều mục đích khác nhau. Nhưng thông thường chúng ta có thể sử dụng nó để kiểm thử API trong quá trình phát triển.

Để thực hiện một HTTP request chúng ta cần chuẩn bị 4 thành phần chính:

  • Endpoint – là địa chỉ (URL) mà chúng ta cần gửi request
  • HTTP method – các HTTP request thường được sử dụng là GET, POST, PUT và DELETE.
    • GET thường được sử dụng truy cập các tài nguyên từ server nó có thể là file, images, message v.v
    • POST thường được sử dụng để gửi thông tin lên server thường để tạo mới một tài nguyên và lưu trữ lại trên server
    • PUT có thể sử dụng để tạo hoặc cập nhật một tài nguyên trên server
    • DELETE dùng để xóa các tài nguyên trên server ví dụ xóa một record được lưu trong database
  • Headers – chứa các metadata của request chẳng hạn như Content-type, User agent, Authorization token v.v
  • Body – chứa dữ liệu mà request sẽ gửi lên cho server, thường được dùng trong POST, PUT method

cURL command options

Có hơn 200 options trong cURL mà chúng ta có thể sử dụng. Bạn có thể xem danh sách hơn 200 options này với lệnh  

Sau đây mình xin liệt kê một số option thường được sử dụng nhất trong cURL

-v verbose option

Verbose option sẽ hiển thị cho bạn mọi thứ xảy ra khi bạn thực thi lệnh curl, từ kết nối đến tiêu đề và bất kỳ dữ liệu nào được trả về

-d data option

Chúng ta có thể sử dụng -d với tham số đầu vào là dữ liệu mà chúng ta muốn gửi lên server.

curl -d '{ "name": "Darth" }' http://example.com

Các công cụ dùng để call API 

Việc sử dụng cURL thông qua giao diện command line để call API có thể khiến các bạn cảm thấy khó khăn. Thật may mắn là hiện nay có rất nhiều công cụ hỗ trợ call API như HTTPie, Postman, và Rest Client trong VS Code, với giao diện đơn giản, dễ sử dụng và nhiều cung cấp thêm nhiều tính năng.

Trong các công cụ trên thì mình khuyến khích các bạn sử dụng Postman. Đây là một công cụ được sử dụng rất phổ biến ở Việt Nam và trên thế giới. Postman có giao diện hài hòa, dễ sử dụng và rất nhiều các tính năng hỗ trợ người dùng như tạo kho lưu trữ các HTTP request đã thực thi trước đó, SSL Enable, Export Code, v,v.

Tóm lược

Như vậy là chúng ta đã thấy được những đặc điểm và tính năng nổi bật của cURL. Tuy nhiên trong thực tế mình thường dùng Postman để thay thế vì nó có đầy đủ các tính năng của cURL. Vậy cần cURL làm gì? thực tế thì vẫn còn rất nhiều các trường hợp chúng ta cần sử dụng cURL chẳng hạn như muốn kiểm tra xem API còn sống hay không? đưa đoạn mã cURL đã được viết đầy đủ cho tester hoặc sếp để họ có thể kiểm tra API mà chúng ta đã triển khai.

 

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x