cURL là gì? Tổng hợp các lệnh cURL trong Linux

cURL là công cụ không thể thiếu trên Linux, giúp bạn dễ dàng chuyển dữ liệu qua lại giữa máy chủ và máy tính cá nhân. Bạn có muốn khám phá sức mạnh và các lệnh hữu ích của cURL không? Hãy cùng KDATA tìm hiểu trong bài viết này!

cURL là gì? Tổng hợp các lệnh cURL trong Linux (1)

cURL được viết bởi Daniel Stenberg bằng C vào năm 1997.

Chức năng của cURL

Giao thức HTTP giúp cURL hỗ trợ việc gửi đi một request với tất cả các phương thức hiện có như GET, POST, PUT, DELETE, …

  • Hỗ trợ người dùng tải xuống máy một trang web trên mạng Internet. Đây là một trong những chức năng cơ bản nhất của cURL.
  • Vận chuyển các tập tin, hình ảnh, dữ liệu,… từ nơi khác đến máy chủ hoặc từ máy chủ đến nơi khác.
  • Kiểm tra cookies nào đã được tải trên URL.

4 bước sử dụng cURL PHP cơ bản

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

Hàm sử dụng: curl_init ().

Bạn sẽ nhận được một resource (một kiểu dữ liệu được định nghĩa trong PHP) từ hệ thống.

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

Hàm sử dụng: curl_setopt(). Đây là hàm quan trọng để xử lý các dữ liệu đầu vào. Ví dụ như: content-type, charset hoặc giá trị cookies, giao thức HTTP,…

Các curl_setopt() bắt buộc phải đứng trước curl_exec() thì mới có tác dụng.

Curl_setopt() thường sẽ có 3 tham số đầu vào:

  • Đối tượng cURL.
  • Tên cấu hình.
  • Giá trị của cấu hình.

Các tham số được ngăn cách với nhau bằng dấu phẩy. Ví dụ: curl_setopt($ch, CURLOPT_URL, ‘https:///’ ).

CURLOPT_URL, CURLOPT_RETURNTRANSFER, CURLOPT_TIMEOUT, CURLOPT_USERAGENT, CURLOPT_FILE, … là những cấu hình thông dụng với cURL.

Bước 3: Thực thi

Hàm sử dụng: curl_exec().

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

Hàm sử dụng: curl_close().

Đóng request sẽ giúp bạn tiết kiệm đáng kể tài nguyên của hệ thống và nâng cao hiệu suất cho server.

Tổng hợp các lệnh cURL Linux Command

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

Cú pháp: cURL trong Linux có cú pháp:

curl [OPTIONS] [URL]

Tác dụng: Giúp bạn biết được cURL đã được cài đặt hay chưa, phù hợp với giao thức nào. Lệnh kiểm tra phiên bản cURL thường được sử dụng để hiển thị nội dung trên trang.

Ví dụ: Nếu muốn xem nội dung của trang yourdomain.com, bạn cần sử dụng cú pháp: curl yourdomain.com. Hệ thống sẽ render (kết xuất) cho bạn mã nguồn trang chủ của domain này.

2. Dùng cURL Command để tải file

Tác dụng: Dùng để tải một dữ liệu từ máy chủ ở xa.

cURL là gì? Tổng hợp các lệnh cURL trong Linux (2)

Có 2 cách thao tác:

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

Cú pháp:

curl -O http://yourdomain.com/yourfile.tar.gz

Dùng cách này, file sẽ được lưu với tên yourfile.tar.gz.

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

Cú pháp:

curl -o newyourfile.tar.gz http://yourdomain.com/yourfile.tar.gz

Dùng cách này, file sẽ được lưu với tên mới là newyourfile.tar.gz

3. Lệnh HTTP cURL Command

  • Sử dụng như một server proxy để tải file. Cú pháp:
curl -x sampleproxy.com:8090 -U username:password -O http:// testdomain.com/testfile.tar.gz
  • Kiểm tra thông tin header của web HTTP. Câu lệnh thực hiện:
curl -I www.yourdomain.com
  • Gửi yêu cầu GET và POST:

Cú pháp GET request:

curl http://mydomain.com

Cú pháp POST request:

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

4. Lệnh cURL cho Cookies

Tác dụng: Kiểm tra các cookies nào được tải trên URL

Cú pháp:

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

Nếu có sẵn cookies trong file, bạn có thể upload nó lên website. Câu lệnh áp dụng:

curl --cookie Mycookies.txt https://www. samplewebsite.com

5. Lệnh cURL cho FTP

Để tải file từ máy chủ từ xa, bạn dùng câu lệnh:

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

Để tải file lên máy chủ FTP, bạn dùng câu lệnh:

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

6. Hàm cURL thiết lập tùy chọn cùng lúc

Nếu muốn thực hiện nhiều thiết lập tùy chọn cùng lúc, bạn nên sử dụng hàm curl_setopt_array().

Cấu trúc hoàn chỉnh của hàm curl_setopt_array() sẽ có dạng như sau:

curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => 'https:///',
CURLOPT_USERAGENT => 'Exmaple POST',
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => http_build_query(array(
'email' => 'sydney@fife',
'password' => 'pistol'
))

7. Lệnh giới hạn output của cURL

Cú pháp:

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

Câu lệnh này đã giới hạn băng thông tải xuống là 100K.

Giới hạn băng thông sẽ hạn chế tình trạng dung lượng file quá lớn khiến máy download chậm, nghẽn mạng,…

cURL là một công cụ dòng lệnh mạnh mẽ và được sử dụng rất phổ biến hiện nay. Hy vọng với những chia sẻ trên đây, bạn đã hiểu hơn về lệnh cURL và sớm sử dụng thành thạo nó!

Câu hỏi thường gặp

cURL là gì và công dụng trong Linux

cURL (Client URL) là một công cụ dòng lệnh và thư viện phần mềm dùng để truyền dữ liệu với các cú pháp URL. Nó hỗ trợ nhiều giao thức khác nhau như HTTP, HTTPS, FTP, SFTP, và nhiều giao thức khác. cURL thường được sử dụng để tải xuống hoặc tải lên dữ liệu từ các máy chủ, kiểm tra API, và tự động hóa các tác vụ liên quan đến web.

Tải xuống một tệp tin từ URL bằng cURL như thế nào?

Bạn có thể sử dụng lệnh curl -O [URL] để tải xuống một tệp tin từ URL và lưu nó vào thư mục hiện tại. Ví dụ:

curl -O https://example.com/file.txt

Lệnh này sẽ tải tệp file.txt từ https://example.com và lưu nó vào thư mục hiện tại.

Cách để gửi dữ liệu POST đến một URL bằng cURL

Bạn có thể sử dụng lệnh curl -d "key1=value1&key2=value2" -X POST [URL] để gửi dữ liệu POST đến một URL. Ví dụ:

curl -d "username=user&password=pass" -X POST https://example.com/login

Lệnh này sẽ gửi dữ liệu POST với username=userpassword=pass đến URL https://example.com/login.

Mọi người cùng tìm kiếm: curl, curl là gì, curl -s linux, curl-d, "curl"