Th9 03, 2019
Hai ₲.
4ít nhất Đọc
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
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.
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
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!
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.