如何在 Linux 中使用“Curl”命令的技巧

在本文中,我們解釋瞭如何在 Linux 中使用 Curl 命令的技巧。

的 捲曲命令將數據傳送到或從網絡服務器,使用所支持的協議中的一個。由於 cURL 使用 libcurl,因此它支持一系列常見的網絡協議,目前包括 HTTP、[10][14] HTTPS、SOAP 請求。

讓我們開始學習 curl 命令。

1.查看curl版本

-V 或 --version 選項不僅會返回版本,還會返回當前版本中支持的協議和功能。

$ curl --version

curl 7.47.0 (x86_64-pc-linux-gnu) libcurl/7.47.0 GnuTLS/3.4.10 zlib/1.2.8 libidn/1.32 librtmp/2.3

協議: dict 文件 ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp

特性: AsynchDNS IDN IPv6 大文件 GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets

2. 下載文件

如果要下載文件,可以使用帶有 -O 或 -o 選項的 curl。前者會將文件保存在當前工作目錄中,名稱與遠程位置相同,而後者允許您指定不同的文件名和/或位置。

$ curl -O http://yourdomain.com/yourfile.tar.gz # Save as yourfile.tar.gz
$ curl -o newfile.tar.gz http://yourdomain.com/yourfile.tar.gz # Save as newfile.tar.gz

3. 恢復中斷的下載

如果下載因某種原因中斷(例如,使用 Ctrl + c),您可以非常輕鬆地繼續下載。-C –(破折號 C,空格破折號)的使用告訴 curl 從停止的地方開始繼續下載。

$ curl -C - -O http://yourdomain.com/yourfile.tar.gz

4. 下載多個文件

使用以下命令,您將分別從 http://yoursite.com 和 http://mysite.com 一次性下載 info.html 和 about.html。

$ curl -O http://yoursite.com/info.html -O http://mysite.com/about.html

5. 從文件下載 URL

如果將 curl 與 xargs 結合使用,則可以從文件中的 URL 列表下載文件。

# xargs -n 1 curl -O <>

6. 使用帶有或不帶有身份驗證的代理

如果您在代理服務器後面,在 proxy.yourdomain.com 上偵聽端口 8080,請執行此操作。

# curl -x proxy.yourdomain.com:8080 -U user:password -O http://yourdomain.com/yourfile.tar.gz

如果您的代理不需要身份驗證,您可以跳過 -U 用戶:密碼。

7. 查詢 HTTP 標頭

HTTP 標頭允許遠程 Web 服務器隨實際請求一起發送有關自身的附加信息。這為客戶端提供了有關如何處理請求的詳細信息。

要從網站查詢 HTTP 標頭,請執行以下操作:

# curl -I www.rootadminz.com

8. 使用參數發出 POST 請求

以下命令會將 firstName 和 lastName 參數及其對應的值發送到 https://yourdomain.com/info.php。

# curl --data "firstName=John&lastName=Doe' https://yourdomain.com/info.php

您可以使用此技巧來模擬常規 HTML 表單的行為。

9. 使用或不使用身份驗證從 FTP 服務器下載文件

如果遠程 FTP 服務器期望在 ftp://yourftpserver 上建立連接,則以下命令將在當前工作目錄中下載 yourfile.tar.gz。

# curl -u username:password -O ftp://yourftpserver/yourfile.tar.gz

如果 FTP 服務器允許匿名登錄,您可以跳過 -u 用戶名:密碼。

10.上傳文件到FTP服務器有或沒有身份驗證

要使用 curl 將名為 mylocalfile.tar.gz 的本地文件上傳到 ftp://yourftpserver,請執行以下操作:

# curl -u username:password -T mylocalfile.tar.gz ftp://yourftpserver

11. 指定用戶代理

用戶代理是與 HTTP 請求一起發送的信息的一部分。這表明客戶端用於發出請求的瀏覽器。讓我們看看我們當前的 curl 版本默認使用什麼,然後讓我們將其更改為“我是一個新的網絡瀏覽器”:

# curl -I http://localhost --user-agent "I am a new web browser'

12. 存儲網站 Cookie

想查看瀏覽 https://www.cnn.com 時哪些 cookie 下載到您的計算機?使用以下命令將它們保存到 cnncookies.txt。然後您可以使用 cat 命令查看該文件。

# curl --cookie-jar cnncookies.txt https://www.cnn.com/index.html -O

13. 發送網站 Cookie

您可以在對同一站點的後續請求中使用在最後一個提示中檢索到的 cookie。

# curl --cookie cnncookies.txt https://www.cnn.com

14.修改名稱解析

如果您是一名 Web 開發人員並且想要在將其發布之前測試 yourdomain.com 的本地版本,您可以像這樣使 curl 解析 http://www.yourdomain.com 到您的本地主機:

# curl --resolve www.yourdomain.com:80:localhost http://www.yourdomain.com/

因此,對 http://www.yourdomain.com 的查詢將告訴 curl 從 localhost 請求站點,而不是使用 DNS 或 /etc/hosts 文件。

15. 限制下載速率

為防止 curl 佔用您的帶寬,您可以將下載速率限制為 100 KB/s,如下所示。

# curl --limit-rate 100K http://yourdomain.com/yourfile.tar.gz -O

今天,我們學習了 Curl 是什麼以及如何在 Linux 中使用 Curl 命令。


如何在 CentOS 7 上安裝和配置 CSF(ConfigServer 安全和防火牆)

如何在 CentOS 7 上安裝和配置 CSF(ConfigServer 安全和防火牆)

ConfigServer Security & Firewall(簡稱csf)是一種狀態包檢測(SPI)防火牆。學習在 CentOS 7 上安裝和配置 CSF

如何在 CentOS 上安裝 R1​​Soft 備份代理

如何在 CentOS 上安裝 R1​​Soft 備份代理

學習在 CentOS 上安裝 R1​​Soft Backup Agent 並對其進行配置。R1Soft 服務器備份管理器為服務提供商提供了一個靈活的、服務器友好的解決方案。

如何修改 CloudLinux LVE 限制

如何修改 CloudLinux LVE 限制

在本文中,我們解釋瞭如何修改 CloudLinux LVE 限制。所以,讓我們開始吧。可以使用 LVE Manager 更改 CloudLinux LVE 限制。

如何更改端口的 SSH Linux 服務器

如何更改端口的 SSH Linux 服務器

要更改 Linux 服務器的 SSH 端口,您需要通過 SSH 登錄服務器並修改 SSH 配置文件。

如何在 CentOS 上安裝 Centova Cast

如何在 CentOS 上安裝 Centova Cast

Centova Cast 是領先的互聯網廣播流管理平台,為流媒體託管提供商提供廣泛的洞察力和控制。 Centova Cast

如何在您的郵件服務器上設置郵件中繼

如何在您的郵件服務器上設置郵件中繼

您可以使用以下電子郵件中繼設置來解決電子郵件發送問題。

如何在 Ubuntu 18.04 中安裝 Apache、MariaDB、PHP 和 phpMyAdmin

如何在 Ubuntu 18.04 中安裝 Apache、MariaDB、PHP 和 phpMyAdmin

我們將學習在 Ubuntu 18.04 服務器中安裝 Apache MariaDB PHP 和 PHPMyAdmin。Apache、MySQL/MariaDB 和 PHP 由包組成。它被稱為燈

學習 Linux 中的基本用戶管理

學習 Linux 中的基本用戶管理

您想在 Linux 中添加、修改或刪除用戶嗎?這是適合您的完美文章。

學習 Linux 中的基本組管理

學習 Linux 中的基本組管理

了解有關 Linux 中組管理的更多信息。如何在Linux中添加組,修改組和刪除組,添加成員。創建一個新組,使用 groupadd 命令。

學習在 CentOS 7 上安裝 Fail2ban

學習在 CentOS 7 上安裝 Fail2ban

Fail2ban 對於保護 SSH 連接非常有用。現在您應該可以在 centos7 上安裝和配置 fail2ban,為服務器添加額外的安全層