Nội dung bài viết
#

cURL là gì? Tổng hợp các lệnh cơ bản của cURL trong Linux

Nội dung bài viết

    cURL là một trong những công cụ phát triển web miễn phí tốt nhất hiện nay và là thứ mà mọi lập trình viên nên biết.Trong bài viết này, BKHOST sẽ giới thiệu lệnh cURL, khám phá cách thức và lý do nó được sử dụng, đồng thời giới thiệu một số ví dụ về lệnh cURL phổ biến và các trường hợp sử dụng.

    cURL là gì?

    curl la gi

    cURL là viết tắt của “Client for URLs” và là một công cụ dòng lệnh mạnh mẽ để gửi và nhận dữ liệu từ mạng. CURL có thể gửi và nhận dữ liệu sử dụng nhiều giao thức mạng như HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP hoặc FILE. CURL là một công cụ được sử dụng rộng rãi trong lập trình và quản trị mạng.

    Các tính năng của CURL

    CURL cung cấp rất nhiều tính năng cho người dùng, bao gồm:

    • Hỗ trợ nhiều giao thức mạng
    • Hỗ trợ gửi và nhận dữ liệu dưới dạng POST và GET
    • Hỗ trợ tải tập tin từ mạng
    • Hỗ trợ mã hóa dữ liệu sử dụng SSL và TLS
    • Hỗ trợ tùy chỉnh header gửi đi
    • Hỗ trợ tùy chỉnh cookies

    Các lệnh cURL cơ bản trong Linux

    Cú pháp cơ bản của lệnh cURL là:

    {{EJS0}}

    Trong đó, [options] là các tùy chọn có thể sử dụng để điều chỉnh hoạt động của cURL và là địa chỉ URL của máy chủ mà bạn muốn thực hiện yêu cầu đến.

    Ví dụ, để thực hiện yêu cầu GET tới địa chỉ https://www.example.com, bạn có thể sử dụng lệnh sau:

    curl https://www.example.com

    Lệnh chuyển hướng đến trang đích

    Khi bạn nhập URL này thì bạn sẽ được chuyển hướng đến trang đích bằng dòng lệnh bên dưới. Bạn sẽ được gửi yêu cầu qua đường dẫn curl

    {{EJS1}}

    Lệnh trên sẽ hiển thị nội dung của URL trên thiết bị đầu cuối. Cú pháp URL phụ thuộc vào giao thức và nhiều URL có thể được viết thành các bộ như:

    {{EJS2}}

    Các URL có chuỗi dãy số có thể được viết như sau:

    {{EJS3}}

    Lệnh đo tốc độ truyền dữ liệu

    cURL sẽ hiển thị dữ liệu đo tiến trình trong quá trình tải về để cho biết tốc độ truyền, lượng dữ liệu đã tải về máy, thời gian còn lại, v.v.

    {{EJS4}}

    Ví dụ:

    lenh do toc do truyen du lieu

    Nếu bạn thích hiển thị dữ liệu tiến trình dạng cột thay vì đồng hồ đo, bạn có thể sử dụng tùy chọn – # như trong ví dụ trên hoặc –silent nếu bạn muốn ẩn nó hẳn đi.

    Tùy chọn tên cho tệp dữ liệu tải về từ máy chủ

    Bạn có thể lựa chọn cách lưu tệp của tập tin tải về với hai lựa chọn dưới đây. Bạn sẽ có thể tùy chỉnh đặt tên theo cách của mình sao cho dễ nhớ nhất.

    -o: cho phép lưu tệp đã tải xuống trên máy với tên theo ý muốn.

    Cú pháp:

    {{EJS5}}

    Ví dụ:

    {{EJS6}}

    Output:

    tai xuong tep tu may chu ftp-1

    Ví dụ ở trên tải xuống tệp từ máy chủ FTP và lưu tệp với tên hello.zip.

    -O: Tùy chọn này tải xuống tệp và lưu nó với tên giống như trong URL.

    Cú pháp:

    {{EJS7}}

    Ví dụ:

    {{EJS8}}

    Output:

    tai xuong tep tu may chu ftp-2

    Tải dữ liệu ngắt quãng

    Bạn không phải lo lắng việc tập tin tải về bị lỗi do quá trình tải xuống gặp lỗi gây gián đoạn nữa. Lệnh này giúp đảm bảo cho tập tin tải về luôn giữ được chất lượng tốt dù đó là tập tin có dữ liệu lớn hay là gặp sự cố khi truyền tải.

    Cú pháp:

    {{EJS9}}

    Ví dụ:

    {{EJS10}}

    Output:

    tai du lieu ngăt quang

    Giới hạn dung lượng truyền dữ liệu tối đa

    –Limit-rate: Tùy chọn này giới hạn tỷ lệ dữ liệu Kết quả trả về của thiết bị trên tốc độ truyền dữ liệu và giữ nó ở giá trị đã cho tính bằng byte.

    Cú pháp:

    {{EJS11}}

    Ví dụ:

    {{EJS12}}

    Output:

    gioi han dung luong truyen du lieu toi da
    Lệnh giới hạn tổng dữ liệu tải xuống 1000K byte.

    Lệnh tải file từ máy chủ

    cURL cũng cung cấp các tùy chọn để tải xuống tệp từ máy chủ FTP đã được xác thực của người dùng.

    Cú pháp:

    {{EJS13}}

    Ví dụ:

    {{EJS14}}

    Output:

    lenh tai file tu may chu

    Tải dữ liệu lên máy chủ

    Để 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.

    Cú pháp:

    {{EJS15}}

    Nếu bạn muốn nối một tệp FTP đã tồn tại, bạn có thể sử dụng tùy chọn -a hoặc –append .

    Lệnh Libcurl

    Tùy chọn này rất có giá trị theo quan điểm của nhà phát triển. Nếu tùy chọn này được thêm vào bất kỳ lệnh curl nào, nó sẽ xuất ra mã nguồn C , mã nguồn được sử dụng libcurl cho tùy chọn nào được chỉ định. Nó là một đoạn mã tương tự như việc triển khai dòng lệnh.

    Cú pháp:

    {{EJS16}}

    Ví dụ:

    {{EJS17}}

    Output:

    giao thuc Libcurl
    Ví dụ trên tải xuống HTML và lưu nó vào log.html và mã trong tệp code.c. Lệnh tiếp theo hiển thị 30 dòng đầu tiên của mã.

    Lệnh sử dụng Proxy

    cURL cho phép hỗ trợ nhiều loại proxy khác nhau. Do vậy, để chuyển dữ liệu từ máy chủ cần cài đặt proxy thích hợp.

    -x, –proxy: curl cũng cho phép người dùng sử dụng proxy để truy cập URL.

    Cú pháp:

    {{EJS18}}

    Nếu proxy yêu cầu xác thực, nó có thể sử dụng bằng lệnh sau:

    {{EJS19}}

    Gửi mail: Vì curl có thể truyền dữ liệu qua bất cứ các giao thức khác nhau nào bao gồm cả SMTP nên bạn có thể sử dụng curl để gửi mail.

    Cú pháp:

    {{EJS20}}

    Lệnh DICT

    Libcurl xác định giao thức DICT có thể được sử dụng để dễ dàng lấy định nghĩa hoặc ý nghĩa của bất kỳ từ nào trực tiếp từ dòng lệnh.

    Cú pháp:

    {{EJS21}}

    Ví dụ:

    {{EJS22}}

    Output:

    giao thuc dict

    Tổng kết về lệnh cURL trong Linux

    Hy vọng bài hướng dẫn này có thể giúp bạn hiểu rõ lệnh curl trong Linux là gì và nó mạnh mẽ như thế nào. Điều quan trọng nhất là bạn đã biết cách sử dụng curl command.

    Ngoài ra, nếu bạn còn muốn tìm hiểu thêm những câu lệnh khác hoặc những mẹo sử dụng Linux, hãy để lại bình luận ở bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.

    Mua tên miền .VN tại BKHOST

    Giá chỉ từ 750k/năm. Kiểm tra tên miền .VN đẹp và đăng ký ngay hôm nay!

    check tên miền việt nam

    Tôi là Trịnh Duy Thanh, CEO & Founder Công ty Cổ Phần Giải Pháp Mạng Trực Tuyến Việt Nam - BKHOST. Với sứ mệnh mang tới các dịch vụ trên Internet tốt nhất cho các cá nhân và doanh nghiệp trong nước và quốc tế, tôi luôn nỗ lực hết mình nâng cấp đầu tư hệ thống phần cứng, nâng cao chất lượng dịch vụ chăm sóc khách hàng để đem đến những sản phẩm hoàn hảo nhất cho người tiêu dùng. Vì vậy, tôi tin tưởng sẽ đem đến các giải pháp CNTT mới nhất, tối ưu nhất, hiệu quả nhất và chi phí hợp lý nhất cho tất cả các doanh nghiệp.
    Bình luận
    Trượt lên đầu trang
    Miễn phí cước gọi
    Chat ngay qua Zalo
    Chat ngay qua Messenger
    Bạn đã hài lòng với trải nghiệm trên Bkhost.vn?
    Cảm ơn lượt bình chọn của bạn, Chúc bạn 1 ngày tốt lành !