cURL là công cụ dùng để kiểm tra nhưng kết nối từ URL và cho phép truyền dữ liệu nhanh hơn. Vậy cURL cụ thể là gì? Cách sử dụng và thiết cURL thế nào? Hãy cùng FPT Aptech tìm hiểu chi tiết hơn thông qua bài viết dưới đây nhé!

cURL là gì? 
cURL là gì?

cURL là gì?

cURL là từ viết tắt của client URL, một công cụ dòng lệnh (hoặc command line tool), được dùng để kiểm tra các kết nối của URL và cho phép việc truyền dữ liệu từ các máy chủ (server). cURL hiện nay đang sử dụng nhiều giao thức hỗ trợ như: HTTPS, HTTP, FTPS,… Chính bởi điều này khiến cho cURL trở thành công cụ lý tưởng cho việc kiểm tra giao tiếp cho các thiết bị và chỉ cần các thiết bị có dòng lệnh và kết nối network. Vào năm 1997, Daniel Stenberg đã viết ra cURL và nó được hoạt động mà không cần có sự tương tác của con người.

cURL hỗ trợ các giao thức gì?

cURL có thể hỗ trợ các giao thức sau: HTTPS, HTTP, IMAPS, IMAP, MBS, SMB, LDAPS, LDAP, FTPS,FTP, POP3S, POP3, SMTPS,SMTP, SFTP, GOPHER, TELNET, SCP.  Ngoài những giao thức (protocol) này, cURL cũng hỗ trợ thêm những giao thức khác ít quan trọng hơn. Tuy nhiên, cURL chỉ sử dụng protocol mặc định là HTTP nếu như không có giao thức khác được cung cấp.

Chức năng của cURL

Chức năng của cURL chính là giúp người dùng tải một trang web hay hình ảnh nào đó trên mạng internet về thiết bị cá nhân. Ngoài ra, cURL cũng giúp cho người dùng vận chuyển dữ liệu, hình ảnh, tệp tin từ máy chủ đi hoặc từ từ đâu đó đến máy chủ (server). Không những vậy, cURL cho phép người dùng kiểm tra các cookie được tải trên URL.

Chức năng của cURL
Chức năng của cURL

Chức năng của cURL

Hướng dẫn sử dụng cURL

Để sử dụng cURL trong PHP thì hệ thống của người dùng cần phải cài đặt thêm libcurl. Nếu như cài đặt PHP của bạn  sử dụng các package như XAMPP, MAMP, WAMP thì sẽ không cần thêm libcurl bởi nó đã được tích hợp sẵn bên trong.

Bởi vậy, để sử dụng cURL trong PHP, người dùng cần phải thực hiện đúng 4 bước. Cụ thể như sau:

Bước 1: Khởi tạo cURL

  • Để khởi tạo được hàm cURL, người dùng cần sử dụng hàm: curl_init ()
  • Kết quả sẽ được hệ thống trả về cho bạn là một resource (kiểu dữ liệu)

Bước 2: Thiết lập tùy chọn request

Thiết lập tùy chọn request, người dùng sẽ sử dụng hàm curl_setopt(). Đây chính là hàm quan trọng của cURL, thực hiện nhiệm vụ xử lý các dữ liệu được gửi đến như: content – type, cookie, giao thức HTTP, charset,… Và một điểm người dùng cần lưu ý là hàm curl_setopt phải được đặt trước hàm curl_exec thì mới có tác dụng.

Hàm Curl_setopt() có 3 tham số vào, được ngăn cách với nhau bởi dấu phẩy:

  • Tham số đầu tiên: cURL
  • Tham số thứ hai: tên cấu hình
  • Tham số thứ 3: giá trị của cấu hình

Trong đó, một số tên cấu hình thông dụng với cURL phải biết đến, đó là:

CURLOPT_URL: đường dẫn URL do cURL gửi request

CURLOPT_RETURNTRANSFER: hàm curl_exec dạng chuỗi khi kết quả là TRUE, còn là FALSE thì sẽ được đưa lên trình duyệt.

CURLOPT_TIMEOUT: thời gian để duy trì kết nối cURL

CURLOPT_USERAGENT: trình duyệt gửi dữ liệu user agent giả lập

CURLOPT_FILE: lưu kết quả vào file

CURLOPT_POST: kết quả ở dạng POST khi là TRUE

CURL_POSTFIELDS: mảng dữ liệu

Ngoài ra, nếu người dùng muốn thiết lập nhiều tùy chọn cùng lúc thì sử dụng hàm curl_setopt_array(). Cấu trúc của hàm có dạng sau:

  • curl_setopt_array($curl, array(
  • CURLOPT_RETURNTRANSFER => 1,
  • CURLOPT_URL => ‘https://vietnix.vn/’,
  • CURLOPT_USERAGENT => ‘Example POST’,
  • CURLOPT_POST => 1,
  • CURLOPT_POSTFIELDS => $data
  • ));
  • curl_setopt_array($curl, $options);

Bước 3: Thực thi hàm cURL

Thực thi hàm cURL, người dùng cần sử dụng hàm curl_exec(). Ở bước số 2, người dùng đã thiết lập tùy chọn request bằng cấu trúc curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1), kết quả trả về là TRUE thì giá trị của hàm curl_exec() sẽ là một chuỗi.

Bước 4: Đóng request, giải phóng tài nguyên

Đóng request và giải phóng tài nguyên, người dùng cần sử dụng hàm curl_close(). Việc này sẽ giúp cho các bạn tiết kiệm được tài nguyên của hệ thống cũng như nâng cao được hiệu suất cho máy chủ (server).

Các lệnh cURL trong Linux cần biết

Các lệnh cURL trong Linux cần biết
Các lệnh cURL trong Linux cần biết

Lệnh kiểm tra phiên bản cURL

Để sử dụng được cURL, người dùng cần đăng nhập VPS bằng SSH. Bạn cần phải kiểm tra cURL bằng lệnh curl_version để chắc chắn rằng cURL được được cài đặt trong hệ thống. Sau khi dùng lệnh curl_version, kết quả sẽ hiển thị phiên bản curl hiện có, từ đó người dùng sẽ nắm bắt được danh sách các giao thức curl hỗ trợ.

Lệnh HTTP cURL Command

cURL có chức năng khác là sử dụng một server proxy để tải file. Dưới đây là ví dụ minh họa cho chức năng của cURL được sử dụng như một server proxy để tải file:

curl -x sampleproxy.com:8090 -U username:password -O http://testdomain.com/testfile.tar.gz

  • Ở ví dụ này, ta có thể thấy được nếu như proxy không chứng thực thì khi ấy người dùng không cần phải viết vào -U username: password. Ngoài ra, người dùng cũng có thể dùng cURL để tiến hành việc kiểm tra thông tin header web HTTP. Để thực hiện được điều này, người dùng sẽ dùng tới câu lệnh sau:

curl -I www.yourdomain.com

  • Ngoài ra, người dùng có thể gửi yêu cầu POST và GET đối với cURL bằng các lệnh như:

POST request: curl –data “text=Howareyou” https://mydomain.com/firstpage.jsp

GET request: curl http://mydomain.com

Từ đó, người dùng có thể xác định được GET và POST request trong cùng một lệnh cURL thông qua tùy chọn -next.

Lệnh cURL cho FTP

FTP là từ viết tắt của File Transfer Protocol, đây chính là giao thức giúp người dùng có thể trao đổi tập tin bất kỳ nào trong máy tính cá nhân lên máy chủ (server). File Transfer Protocol được mọi người tạm dịch là chuyển nhượng tệp tin.

Hỗ trợ tải file

cURL hỗ trợ giao thức FTP với mục đích tải file từ máy chủ với câu lệnh mẫu:

  • curl -u username:password -O ftp://nameftpserver/yourfile.tar.gz

Với  câu lệnh này thì ftp://nameftpserver là FTP server nhận được request kết nối. Còn server hỗ trợ người dùng FTP ẩn danh thì có thể không cần phải dùng đến password và username cũng được.

Hỗ trợ upload file

Trong trường hợp người dùng muốn upload file lên trên FTP server thì có thể dùng lệnh sau:

  • curl -u username:password -T yourfile.tar.gz ftp://nameftpserver

Tương tự như trên, nếu tải file xuống từ FTP server, người dùng có thể bỏ qua việc điền password và username nếu như dùng được kết nối ẩn danh.

Lệnh cURL cho Cookie

Người dùng có thể dùng cURL Command để kiểm tra nhưng cookies được tải về trên URL. Giả sử, bạn truy cập website có dạng như https://www.samplewebsite.com thì bạn có thể output web đó theo dạng một file cũng như lưu cookies bằng cách dùng câu lệnh như:

  • curl –cookie-jar Mycookies.txt https://www.samplewebsite.com /index.html -O

Ở trường hợp, cookies có sẵn ở trong file thì người dùng có thể upload lên web qua dạng:

  • curl –cookie Mycookies.txt https://www. samplewebsite.com

Lệnh giới hạn output cho cURL

Khi sử dụng cURL mà không biết output lớn đến đâu có thể gây ra một số rắc rối cho người dùng. Giả dụ, dung lượng file quá lớn khiến máy tính tắc nghẽn mạng, load chậm,… Vì vậy, để hạn chế tình trạng sử dụng băng thông lớn, người dùng cần giới hạn cURL output bằng cách sử dụng các lệnh dạng:

  • curl –limit-rate 100K http://testdomain.com/samplefile.tar.gz -O

Tải file bằng cURL Command

Lệnh cURL dùng để tải một dữ liệu từ máy chủ ở xa theo hai cách, cụ thể như sau:

Cách 1: Lưu file trên folder hiện hành. Tên file tải xuống giống với tên file từ xa

Cách 2: Được phép tùy chọn tên file và đường dẫn lưu trữ

  • Lệnh cURL được viết theo cú pháp: curl -o newyourfile.tar.gz http://yourdomain.com/yourfile.tar.gz
  • Khi đó, file được lưu với tên newyourfile.tar.gz

Cú pháp lệnh cURL

Cú pháp lệnh cURL trong Linux là: curl [OPTIONS] [URL]. Cách sử dụng cURL phổ biến nhất chính là hiển thị nội dung trên trang.Giả sử, nếu người dùng muốn xem nội dung cảu trang yourdomain.com thì cần sử dựng cú pháp curl yourdomain.com. Hệ thống sẽ kết xuất cho người dùng mã nguồn trang chủ của domain này. Nếu như không gõ giao thức thì cURL sẽ mặc định website này chính là HTTP

Bài viết trên là toàn bộ nội dung mà FPT Aptech muốn chia sẻ với bạn đọc về cURL. Hy vọng, thông qua bài viết này người đọc có thể hiểu rõ hơn về cURL cũng như nhwungx chức năng của cURL. Mọi thông tin thắc vui lòng liên hệ qua website https://aptech.fpt.edu.vn hoặc thông qua hotline của chúng tôi để được hỗ trợ sớm nhất.

FPT Aptech trực thuộc Tổ chức Giáo dục FPT có hơn 25 năm kinh nghiệm đào tạo lập trình viên quốc tế tại Việt Nam, và luôn là sự lựa chọn ưu tiên của các sinh viên và nhà tuyển dụng.
Mục nhập này đã được đăng trong Blog. Đánh dấu trang permalink.
0981578920
icons8-exercise-96