Curl là gì? Các lệnh curl – Curl Command cần biết trong Linux

VPS

Curl là gì? Các lệnh curl – Curl Command cần biết trong Linux

Lệnh Curl là gì? Nó là chữ viết tắt của “Client URL”, dùng để kiểm soát connect tới URL & curl command thường dùng để truyền tải dữ liệu. Curl được phân phối bởi libcurl, là một bộ thư viện truyền URL phía máy khách. Hãy cùng chúng tôi khám phá cách dùng nó.

Curl command trợ giúp các giao thức bên dưới:

  • HTTP & HTTPS
  • FTP & FTPS
  • IMAP & IMAPS
  • POP3 & POP3S
  • SMB & SMBS
  • SFTP
  • SCP
  • TELNET
  • GOPHER
  • LDAP & LDAPS
  • SMTP & SMTPS

Đây là những protocol được trợ giúp trọng yếu nhất, cũng có các giao thức khác ít thông dụng hơn.

Kiểm soát phiên bản Curl:

Trước khi khởi đầu làm việc với Curl, bạn cần đăng nhập vào VPS trước. Nếu chưa biết cách, hãy xem nội dung sau để sử dụng SSH truy cập vào VPS.

Trước nhất, hãy kiểm soát phiên bản Curl bằng lệnh sau để chắc cú nó đã được cài bằng máy:

curl --version

Kết quả sẽ hiện phiên bản Curl để bạn biết mục lục protocol được trợ giúp. Giờ hãy xem một vài chẳng hạn của Curl command.

Cú pháp của lệnh Curl

Để biết cách dùng curl command, bạn cần biết cú pháp của Curl:

curl [OPTIONS] [URL]

Cách sử dụng dễ dàng nhất của Curl là hiển thị bài viết của trang. Chẳng hạn sau sẽ cho bạn xem bài viết của trang chính của trang  testdomain.com.

curl testdomain.com

Nó sẽ kết xuất (render) cho bạn mã nguồn của trang chính trang web này. Còn nếu không xác nhận protocol thì curl sẽ mặc định dịch nó thành HTTP.

Các lựa chọn để dùng Curl Command

Curl commands có thể tải file từ một máy chủ từ xa. Bạn có thể thực hiện qua 2 cách::

  • sẽ lưu file trong cùng thư mục hiện hành với tên file giống với tên file từ xa.
  • -o giúp bạn chọn tên file & đường dẫn của file
Xem Thêm  Cách tạo tệp văn bản mới bằng Python - cách tạo một tệp python

Bạn có thể xem qua chẳng hạn bên dưới:

curl -Σ http://testdomain.com/testfile.tar.gz

Lệnh trên sẽ lưu file thành testfile.tar.gz.

curl -o newtestfile.tar.gz http://testdomain.com/testfile.tar.gz

Lệnh trên sẽ lưu file thành newtestfile.tar.gz.

Nếu vì nguyên nhân gì đó, việc tải file thất bạn, bạn có thể resume bằng lệnh curl. Bạn dùng lệnh sau::

curl -₵ - -Σ  http://testdomain.com/testfile.tar.gz

Với curl, bạn có cũng có thể tải nhiều file bằng lệnh sau:

curl -Σ http://testdomain.com/testfile.tar.gz -Σ http://mydomain.com/myfile.tar.gz

Nếu mong muốn tải nhiều file từ nhiều URL khác nhau được liệt kê trong một file text. Curl command có thể kết phù hợp với xargs để tải nhiều URLs khác nhau.

Chẳng hạn, nếu bạn có file allUrls.txt chứa nhiều URL cần tải về, vậy bạn dùng lệnh sau để tải toàn thể các backlink trong file đó:

xargs –ɳ 1 curl -Σ < allUrls.txt

Curl Commands cho Http

Curl cũng có thể được dùng dùng như là một server proxy. Nếu bạn có server đang nghe trên port 8090 tại sampleproxy.com, tải file như sau:

curl -x  sampleproxy.com:8090 -ᑗ username:password -Σ http:// testdomain.com/testfile.tar.gz

Trong chẳng hạn trên, bạn có thể bỏ qua -ᑗ username:password nếu proxy không cần chứng nhận.

Một HTTP request thông thường sẽ luôn chứa header. HTTP header gửi những thông tin công thêm này vào website server từ α bên cạnh yêu cầu thực. Dụng cụ lập trình trên trình duyệt có thể kiểm soát được thông tin header, nhưng bạn cũng có cơ thể thực nó bằng lệnh curl.

Bên dưới là chẳng hạn cách lấy thông tin header từ một trang web bằng curl:

curl -Ι www.testdomain.com

Với curl, bạn còn dùng được request GET & POST. GET sẽ dùng như sau:

curl http://mydomain.com

Chẳng hạn POST request thì như sau:

curl –data “text=Hello” https://myDomain.com/firstPage.jsp

Tại đó, đoạn text=Hello là tham số của POST. Hành động này cũng giống với sử dụng HTML form.

Xem Thêm  GeeksforGeeks - dạng đầy đủ của pip trong python

Bạn có cơ thể định nhiều bí quyết HTTP trong một lệnh curl duy nhất, bằng tùy chọn -next: 

curl –data “text=Hello” https://myDomain.com/firstPage.jsp --next https://myDomain.com/displayResult.jsp

Nó bao gồm POST đi theo GET request.

Mỗi HTTP request sẽ có một user agent được gửi như một phần của request. Nó định dạng thông tin trình duyệt của sản phẩm client. Mặc định, curl request chứa curl & phiên bản của nó làm thông tin của user agent. Chẳng hạn như output của nó làL

“GET / HTTP/1.1” 200 “_” ”curl/7/29/0”

Bạn có thể đổi thông tin mặc định của user agent bằng lệnh bên dưới:

curl -Ι http://mydomain.com –-user-agent “My new Browser”

Kết quả giờ sẽ như sau:

“GET / HTTP/1.1” 200 “_” ”My new Browser”

Curl cho Cookies

Curl command cũng có thể dùng để kiểm soát cookies nào được tải trên URL. Vì thế, nếu bạn truy cập https://www.samplewebsite.com, sau đó output một file, lưu cookies & truy cập chúng sử dụng cat hay VM editor.

Bên dưới là mẫu lệnh này:

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

Tương đương, nếu bạn có cookies trong file, bạn có thể gửi nó lên trang web. Chẳng hạn lệnh để gửi cookies là:

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

Curl cho FTP

Curl command trợ giúp FTP! Bạn dùng chúng để tải file từ máy chủ từ xa.

curl -u username:password -Σ ftp://sampleftpserver/testfile.tar.gz

Trong lệnh ở trên, ftp://sampleftpserver là FTP server chấp nhật connect. Username & password có thể bỏ qua nếu như server trợ giúp anonymous FTP (FTP ẩn danh). Gõ lệnh & xem công cuộc xảy ra

Xem Thêm  Python cho các vòng lặp - python tạo danh sách từ vòng lặp for

Bạn có thể upload file bằng lệnh sau:

curl -u username:password -Ƭ testfile.tar.gz ftp://sampleftpserver

Cũng thế, tất cả chúng ta có thể bỏ qua username & password để connect ẩn danh

Hạn chế output của Curl

Khi sử dụng curl, bạn không biết được output lớn đến đâu. Để giảm bớt sử dụng đường truyền lớn, hãy hạn chế curl output lại để tránh bị nghẽn mạng.

Lệnh bên dưới sẽ hạn chế đường truyền xuống 100K:

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

Lời kết

Curl rất mạnh & được dùng thông dụng khắp mọi nơi. Nó hữu ích nhất khi bạn hay sử dụng dòng lệnh. Nó có nhiều lựa chọn khi thực hiện lệnh & trợ giúp rất là nhiều giao thức. Đây là nguyên nhân lớn để cần phải biết command này~

Hãy nhớ, nếu bạn mong muốn khám phá lệnh này sâu hơn, chỉ cần tham khảo chỉ dẫn ebook của nó khi đang dùng bất kỳ bản Unix nào bằng lệnh

man curl

Chúng tôi ao ước bài chỉ dẫn này có thể giúp bạn tinh thông curl là gì, nó khỏe khoắn như vậy nào. & trọng yếu nhất! Biết cách dùng curl command! không dừng lại ở đó, nếu bạn có điều gì mong muốn chia sẽ, đừng quên để lại comment bên dưới!

Author

Hai ₲.

Hải ₲. là Chuyên Viên làm chủ, vận hành các dịch vụ trang web. Anh có dày dặn kinh nghiệm về VPS, Host, technical SEO, CMS. Đặc biệt yêu thích WordPress & đã dùng nó hơn 5 năm nay. Sở thích của anh là đọc, viết blog, đi du lịch & tư vấn cho các bạn trẻ khởi nghiệp.

Viết một bình luận