A. Giới thiệu về cURL
- HTTP(S)
- FTP(S)
- IMAP(S)
- POP3(S)
- SMB(S)
- LDAP(S)
- SMTP(S)
- SFTP
- SCP
- TELNET
- GOPHER
B. Cài đặt cURL
Để 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 libcurl3
C. Một số câu lệnh với cURL
1. Tải file từ remote server
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.
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.
curl -C – -O http://example.com/file.zip
curl -O http://example.com/file1.zip -O http://example.com/file2.zip
2. Câu 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 http://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
3. 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.
4. 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/
5. Đăng nhập và gửi Email từ Gmail bằng 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 ‘tendangnhap@gmail.com’ –mail-rcpt ‘nguoinhan@example.com’ \
–upload-file mail.txt –user ‘tendangnhap@gmail.com:password’ –insecure
Nội dung của file mail.txt như sau:
From: “Tên” <tendangnhap@gmail.com>
To: “Lorem Ipsum” <nguoinhan@example.com>
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
6. 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ổng hợp bởi Tiền Minh Vy
Views: 1137