Linux Essentials: Curl Fundamentals
Mục lục:
- Cài đặt Curl
- Cài đặt Curl trên Ubuntu và Debian
- Cài đặt Curl trên CentOS và Fedora
- Cách sử dụng Curl
- Lưu kết quả vào một tệp
- Tải xuống nhiều tệp
- Tiếp tục tải xuống
- Nhận các tiêu đề HTTP của một URL
- Thay đổi tác nhân người dùng
- Chỉ định tốc độ truyền tối đa
- Truyền tệp qua FTP
- Gửi bánh quy
- Sử dụng proxy
- Phần kết luận
curl
là một tiện ích dòng lệnh để truyền dữ liệu từ hoặc đến một máy chủ được thiết kế để hoạt động mà không có sự tương tác của người dùng. Với
curl
, bạn có thể tải xuống hoặc tải lên dữ liệu bằng một trong các giao thức được hỗ trợ bao gồm HTTP, HTTPS, SCP, SFTP và FTP.
curl
cung cấp một số tùy chọn cho phép bạn tiếp tục chuyển, giới hạn băng thông, hỗ trợ proxy, xác thực người dùng và nhiều hơn nữa.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách sử dụng công cụ curl thông qua các ví dụ thực tế và giải thích chi tiết về các tùy chọn curl phổ biến nhất.
Cài đặt Curl
Gói curl được cài đặt sẵn trên hầu hết các bản phân phối Linux hiện nay.
Để kiểm tra xem gói Curl có được cài đặt trên hệ thống của bạn không, hãy mở giao diện điều khiển của bạn, nhập
curl
và nhấn enter. Nếu bạn đã cài đặt
curl
, hệ thống sẽ in
curl: try 'curl --help' or 'curl --manual' for more information
. Nếu không, bạn sẽ thấy một cái gì đó như
curl command not found
.
Nếu
curl
không được cài đặt, bạn có thể dễ dàng cài đặt nó bằng trình quản lý gói phân phối.
Cài đặt Curl trên Ubuntu và Debian
sudo apt update
sudo apt install curl
Cài đặt Curl trên CentOS và Fedora
Cách sử dụng Curl
Cú pháp của lệnh
curl
như sau:
curl
Ở dạng đơn giản nhất, khi được gọi mà không có bất kỳ tùy chọn nào,
curl
sẽ hiển thị tài nguyên được chỉ định cho đầu ra tiêu chuẩn.
Ví dụ: để truy xuất trang chủ
example.com
bạn sẽ chạy:
curl example.com
Lệnh sẽ in mã nguồn của trang chủ
example.com
trong cửa sổ terminal của bạn.
Nếu không có giao thức nào được chỉ định,
curl
cố gắng đoán giao thức bạn muốn sử dụng và nó sẽ mặc định là
HTTP
.
Lưu kết quả vào một tệp
Để lưu kết quả của lệnh
curl
, hãy sử dụng tùy chọn
-o
hoặc
-O
.
Chữ thường
-o
lưu tệp với tên tệp được xác định trước, trong ví dụ dưới đây là
vue-v2.6.10.js
:
curl -o vue-v2.6.10.js
Uppercase
-O
lưu tệp với tên tệp gốc của nó:
Tải xuống nhiều tệp
Để tải xuống nhiều tệp cùng một lúc, hãy sử dụng nhiều tùy chọn
-O
, theo sau là URL tới tệp bạn muốn tải xuống.
Trong ví dụ sau, chúng tôi đang tải xuống tệp iso Arch Linux và Debian:
curl -O http://mirrors.edge.kernel.org/archlinux/iso/2018.06.01/archlinux-2018.06.01-x86_64.iso \
-O
Tiếp tục tải xuống
Bạn có thể tiếp tục tải xuống bằng cách sử dụng tùy chọn
-C -
. Điều này hữu ích nếu kết nối của bạn bị rớt trong quá trình tải xuống một tệp lớn và thay vì bắt đầu tải xuống từ đầu, bạn có thể tiếp tục tải xuống trước đó.
Ví dụ: nếu bạn đang tải xuống tệp iso Ubuntu 18.04 bằng lệnh sau:
curl -O
và đột nhiên kết nối của bạn bị rớt, bạn có thể tiếp tục tải xuống bằng:
Nhận các tiêu đề HTTP của một URL
Các tiêu đề HTTP là các cặp giá trị khóa được phân tách bằng dấu hai chấm chứa thông tin như tác nhân người dùng, loại nội dung và mã hóa. Các tiêu đề được truyền giữa máy khách và máy chủ với yêu cầu hoặc phản hồi.
Sử dụng tùy chọn
-I
để chỉ tìm nạp các tiêu đề HTTP của tài nguyên đã chỉ định:
curl -I --http2


Tùy chọn
-L
hướng dẫn
curl
theo bất kỳ chuyển hướng nào cho đến khi đến đích cuối cùng:
Thay đổi tác nhân người dùng
Đôi khi, khi tải xuống một tệp, máy chủ từ xa có thể được đặt để chặn Tác nhân người dùng Curl hoặc trả về các nội dung khác nhau tùy thuộc vào thiết bị và trình duyệt của khách truy cập.
Trong các tình huống như thế này để mô phỏng một trình duyệt khác, hãy sử dụng tùy chọn
-A
.
Ví dụ: để mô phỏng Firefox 60 bạn sẽ sử dụng:
curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0"
Chỉ định tốc độ truyền tối đa
Tùy chọn
--limit-rate
cho phép bạn giới hạn tốc độ truyền dữ liệu. Giá trị có thể được biểu thị bằng byte, kilobyte với hậu tố
k
, megabyte với hậu tố
m
và gigabyte với hậu tố
g
.
Trong ví dụ sau,
curl
sẽ tải xuống tệp nhị phân Go và giới hạn tốc độ tải xuống ở mức 1 mb:
curl --limit-rate 1m -O
Tùy chọn này rất hữu ích để ngăn chặn
curl
tiêu thụ tất cả băng thông có sẵn.
Truyền tệp qua FTP
Để truy cập máy chủ FTP được bảo vệ bằng
curl
, hãy sử dụng tùy chọn
-u
và chỉ định tên người dùng và mật khẩu như dưới đây:
curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/
Sau khi đăng nhập, lệnh liệt kê tất cả các tệp và thư mục trong thư mục chính của người dùng.
Bạn có thể tải xuống một tệp từ máy chủ FTP bằng cú pháp sau:
curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/file.tar.gz
Để tải tệp lên máy chủ FTP, hãy sử dụng
-T
theo sau là tên của tệp bạn muốn tải lên:
curl -T newfile.tar.gz -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/
Gửi bánh quy
Đôi khi bạn có thể cần thực hiện một yêu cầu HTTP với các cookie cụ thể để truy cập tài nguyên từ xa hoặc để gỡ lỗi một vấn đề.
Theo mặc định, khi yêu cầu tài nguyên với
curl
, không có cookie nào được gửi hoặc lưu trữ.
Để gửi cookie đến máy chủ, hãy sử dụng khóa chuyển đổi
-b
theo sau là tên tệp chứa cookie hoặc chuỗi.
Ví dụ: để tải xuống tệp vòng / phút JDK của Oracle Java
jdk-10.0.2_linux-x64_bin.rpm
bạn sẽ cần phải vượt qua một cookie có tên
oraclelicense
với giá trị
a
:
curl -L -b "oraclelicense=a" -O
Sử dụng proxy
curl
hỗ trợ các loại proxy khác nhau, bao gồm HTTP, HTTPS và SOCKS. Để truyền dữ liệu qua máy chủ proxy, hãy sử dụng tùy chọn
-x
(
--proxy
), theo sau là URL proxy.
Lệnh sau tải xuống tài nguyên đã chỉ định bằng proxy trên
192.168.44.1
cổng
8888
:
curl -x 192.168.44.1:8888
Nếu máy chủ proxy yêu cầu xác thực, hãy sử dụng tùy chọn
-U
(
--proxy-user
) theo sau là tên người dùng và mật khẩu được phân tách bằng dấu hai chấm (
user:password
):
curl -U username:password -x 192.168.44.1:8888
Phần kết luận
curl
là một công cụ dòng lệnh cho phép bạn truyền dữ liệu từ hoặc đến một máy chủ từ xa. Nó rất hữu ích để khắc phục sự cố, tải xuống tệp và hơn thế nữa.
Các ví dụ hiển thị trong hướng dẫn này rất đơn giản, nhưng thể hiện các tùy chọn
curl
được sử dụng nhiều nhất và có nghĩa là để giúp bạn hiểu cách hoạt động của lệnh
curl
.
Để biết thêm thông tin về
curl
hãy truy cập trang Tài liệu Curl.
Với một vài thay đổi, cuộc tranh luận tổng thống Mỹ sắp tới có thể thân thiện hơn với cả cử tri và Web, một liên minh các blogger, các nhà tư vấn chính trị và các nhà vận động khác nhau. Đảng Dân chủ và Cộng hòa đã kêu gọi các ứng cử viên tổng thống Barack Obama và John McCain thay đổi một số quy tắc của các cuộc tranh luận theo cách có thể khuyến khích các cử tri đưa ra và lựa chọn các câu hỏi trên Web và cho phép các trang Web phân phối lại video của các cuộc tranh luận không có bản quyền mối
Cuộc tranh luận đầu tiên giữa McCain và Obama là tối thứ sáu tại Đại học Mississippi. Hai trong số này được lên kế hoạch vào tháng 10, cũng như một cuộc tranh luận phó tổng thống.
Từ các cuộc tấn công từ chối dịch vụ trên các trang web những nỗ lực trên lưới điện và các hệ thống tài chính và quân sự, các chuyên gia cảnh báo rằng các cuộc chiến tranh tiếp theo sẽ được khởi động bằng các vụ nổ điện tử từ các diễn viên ngoài quốc gia và các quốc gia chưa đưa ra các chiến lược rõ ràng. và các quan chức chính phủ đang thảo luận về những vấn đề này trong tuần này tại Tallinn, Estonia, tại Hội nghị lần đầu tiên về chiến tranh trên mạng. Nó được tổ chức bởi Trung tâm Hợp tác quốc
[ĐọC thêm: Cách xóa phần mềm độc hại khỏi PC Windows]
Mặc dù số lượng các cuộc tấn công mạng thành công do tin tặc Đông Á đưa ra chống lại các công ty và các tổ chức chính phủ trên khắp thế giới trong những năm gần đây, các nhà nghiên cứu bảo mật cho biết. Các nhà nghiên cứu bảo mật cho rằng, các tin tặc Đông Á thống trị các tiêu đề liên quan đến an ninh mạng trên khắp thế giới với sự xâm nhập cao và các mối đe dọa liên tục (APT), nó sẽ là một sai lầm để kết luận rằng những kẻ tấn công này là mối đe dọa hình sự lớn nhất hoặc duy nhất đối với Intern
"Sau khi tiến hành nghiên cứu sâu rộng về bản chất của khu vực Đông Á và Đông Âu, Trend Micro kết luận rằng tin tặc từ Khối Liên Xô trước đây là một mối đe dọa tinh vi và bí mật hơn so với các đối tác Đông Á nổi tiếng hơn, "Kellermann, người cho đến gần đây làm ủy viên Ủy ban An ninh mạng cho Tổng thống Hoa Kỳ thứ 44







