cURL là gì? Tổng hợp một số lệnh giúp các bạn thao tác với cURL qua Terminal

VỀ CURL

cURL là viết tắt của Client URL, được dùng để kiểm tra việc kết nối từ URL và cho phép truyền dữ liệu. Trên Linux thì nó thường được dùng chủ yếu để tải các file từ máy chủ web về máy tính.
Trong lập trình web, cURL khá quan trọng. Với cURL, bạn có thể đăng nhập các trang web bất kỳ,…
Các giao thức mà cURL hỗ trợ như:
  • HTTP(S)
  • FTP(S)
  • IMAP(S)
  • POP3(S)
  • SMB(S)
  • LDAP(S)
  • SMTP(S)
  • SFTP
  • SCP
  • TELNET
  • GOPHER
Ở trên là các giao thức quan trọng mà cURL hỗ trợ. Ngoài ra nó cũng có hỗ trợ một số giao thức kém phổ biến hơn.

MỘT SỐ CÂU LỆNH THAO TÁC

Trước khi chúng ta bắt đầu thì máy tính của bạn phải cài cURL trước để các lệnh phía bên dưới có thể hoạt động.
Để cài đặt cURL cho Linux, ta có thể dùng các câu lệnh sau:
sudo apt-get update
sudo apt-get install curl
sudo apt-get install libcurl3
Một số câu lệnh:
Tải file từ remote server

curl -O http://example.com/file.zip

Lệnh trên sẽ giúp bạn tải file file.zip về máy và lưu ở thư mục hiện tại bạn đang làm việc.

curl -o testing.zip http://example.com/file.zip

Lệnh trên sẽ tải và đổi tên file file.zip thành testing.zip. Bạn cũng có thể lưu file này ở thư mục khác bằng cách đổi testing.zip thành ten-thu-muc/testing.zip, với đường dẫn đó thì file tải về sẽ được lưu thành testing.zip trong thư mục con ten-thu-muc trong thư mục bạn đang làm việc.
Nếu trong quá trình tải mà xảy ra sự cố dẫn đến tải thất bại, bạn có thể resume bằng câu lệnh sau

curl -C – -O http://example.com/file.zip

Bạn cũng có thể tải nhiều file cùng một lúc bằng

curl -O http://example.com/file1.zip -O http://example.com/file2.zip

Các lệnh cho HTTP
Một ví dụ khác, cURL có thể được sử dụng như proxy để tải file.

curl -x sampleproxy.com:8090 -U username:password -O https://example.com/file.zip

Lưu ý: Nếu proxy không cần chứng thực thì bạn không cần nhập -U username:password cũng được
Để kiểm tra Header của một website, ta dùng lệnh

curl -I www.example.com

Ngoài ra, bạn cũng có thể gửi request thông qua 2 method GET và POST lần lượt bằng 2 câu lệnh sau:

curl http://example.com/testing.php?gettesting=true

curl -data “posttesting=true” http://example.com/testing.php

Trong đó: gettesting=true là tham số của GET, còn posttesting=true là tham số của POST.
Ngoài ra, bạn cũng có thể request cả GET và POST trong cùng một câu lệnh của cURL bằng câu lệnh sau:

curl –data “posttesting=true” http://example.com/testing.php –next http://example.com/testing.php?gettesting=true

LỆNH CURL DÀNH CHO COOKIE

Để lưu cookie của website bất kỳ:

curl –cookie-jar cookies.txt https://www.example.com/index.html -O

Bạn hoàn toàn có thể dùng cookie đã lưu và áp dụng cho website mà bạn truy cập đến bằng lệnh sau:

curl –cookie cookies.txt https://www.example.com

Đặc biệt, để đăng nhập một website và truy cập website đó với quyền user bạn đã đăng nhập, dùng lần lượt 2 câu lệnh sau:

curl –user user:pass –cookie-jar cookies.txt https://example.com/login.php

user:pass => user là tên đăng nhập còn pass là mật khẩu tài khoản trên website đó.

curl –cookie cookies.txt https://example.com/

Và với câu lệnh trên, bạn đã truy cập website với quyền của tài khoản user bên trên.

LỆNH CURL DÀNH CHO FTP

Đối với lệnh này, nó chủ yếu được dùng để tải file từ remote server về, nhưng ở đây là dùng cổng FTP

curl -u username:password -O ftp://example.com/file.zip

Nếu webserver cho phép truy cập FTP ẩn danh, bạn có thể không cần thêm username:password cũng được
Đối với FTP, thông qua cURL ta có thể upload file lên Server qua câu lệnh

curl -u username:password -T file.zip ftp://example.com/

ĐĂNG NHẬP VÀ GỬI EMAIL BẰNG TÀI KHOẢN GMAIL THÔNG QUA CURL.

Bạn có thể dùng câu lệnh bên dưới để gửi thư điện tử bằng tài khoản gmail qua cURL:

curl –url ‘smtps://smtp.gmail.com:465’ –ssl-reqd \
–mail-from ‘[email protected]’ –mail-rcpt ‘[email protected]’ \
–upload-file mail.txt –user ‘[email protected]:password’ –insecure

Nội dung của file mail.txt như sau:

From: “Tên” <[email protected]>
To: “Lorem Ipsum” <[email protected]>
Subject: Test gửi mail qua cURL

Xin chào, Thư này được gửi bằng tài khoản gmail của tôi qua cURL.
Bye!

Lưu ý quan trọng: Bạn phải bật Cho phép ứng dụng kém an toàn trước khi sử dụng lệnh bên trên qua liên kết sau: https://myaccount.google.com/lesssecureapps

GIỚI HẠN OUTPUT CỦA CURL

Đôi khi, việc không biết output của cURL một số trường hợp có thể gây khó khăn cho chúng ta như máy tải chậm, kẹt mạng,… Và để hạn chế tối đa tình trạng trên, chúng ta có thể giới hạn output cURL qua lệnh:

curl –limit-rate 100K http://example.com/file.zip -O

Với lệnh trên, file tải xuống sẽ bị giới hạn lượng băng thông còn 100KB/s.

Tóm lại

curl

Qua bài viết này, hy vọng các bạn đã hiểu rõ được cURL là gì và cách sử dụng nó như thế nào. Nếu các bạn thích bài viết thì nhớ chia sẻ bài viết và bình luận để góp ý, bổ sung những gì mình còn thiếu xót nhé, cám ơn các bạn!

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Hiện website này đang ở trạng thái lưu trữ, có thể bạn sẽ thấy một số nội dung không được định dạng đúng cách, sẽ không có bài viết nào mới ở trên website này nữa.Tại sao tôi nhận được thông báo này?
+ +