cURL 入門:10 分鐘學會用命令行發 HTTP 請求

curl初識

  • curl
    • 通過 URL 傳輸數據的命令行工具和庫
    • 是一個非常強大的命令行工具,用于在網絡上傳輸數據。它支持眾多的協議,像 dict file ftp ftps gopher gophers http https imap imaps ipfs ipns ldap ldaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp ws wss等
      在這里插入圖片描述

常用指令

  • curl 的用法指南
用法: curl [options...] <url>
-d, --data <data>           HTTP POST data 用于在 HTTP POST 請求里發送數據,數據格式通常為表單數據(key1=value1&key2=value2)或者 JSON 數據
-f, --fail                  Fail fast with no output on HTTP errors 若 HTTP 請求返回的狀態碼是 4xx 或 5xx,curl 會立即失敗,且不輸出響應內容
-h, --help <category>       Get help for commands 顯示 curl 命令的通用幫助信息
-i, --include               Include response headers in output 在輸出中包含響應的 HTTP 頭信息
-o, --output <file>         Write to file instead of stdout 把響應內容寫入指定的文件,而非輸出到標準輸出
-O, --remote-name           Write output to file named as remote file 把響應內容寫入一個文件名和遠程文件相同的文件
-s, --silent                Silent mode 靜音模式,不顯示進度條和錯誤信息。
-T, --upload-file <file>    Transfer local FILE to destination 將本地文件傳輸到指定的遠程目標
-u, --user <user:password>  Server user and password 指定服務器的用戶名和密碼,用于身份驗證
-A, --user-agent <name>     Send User-Agent <name> to server 在請求頭中設置用戶代理信息
-v, --verbose               Make the operation more talkative 詳細模式,顯示更多的操作信息,如請求頭、響應頭、連接信息等
-V, --version               Show version number and quit 顯示 curl 的版本號并退出

常用功能

  • curl 常用功能,它還有很多其他的選項和用法,你可以通過 curl --help / curl --help all 或者 man curl 命令查看詳細的幫助文檔。

獲取網頁內容

若要獲取某個網頁的 HTML 內容,可使用以下命令:

curl https://www.example.com

此命令會向 https://www.example.com 發送一個 GET 請求,并且把響應內容輸出到終端。
在這里插入圖片描述

下載文件

若要下載文件,可使用 -O 選項:

curl -O https://example.com/file.zip

該命令會把 https://example.com/file.zip 文件下載到當前目錄,并且文件名保持不變。
在這里插入圖片描述

發送 POST 請求

若要發送一個 POST 請求,可使用 -X POST 選項,同時使用 -d 選項來指定請求體:

curl -X POST -d "key1=value1&key2=value2" https://example.com/api

此命令會向 https://example.com/api 發送一個包含表單數據的 POST 請求
在這里插入圖片描述

攜帶請求頭

若要在請求中攜帶自定義的請求頭,可使用 -H 選項:

curl -H "Content-Type: application/json" -H "Authorization: Bearer your_token" https://example.com/api

這個命令會在請求中添加 Content-Type 和 Authorization 請求頭。

顯示響應頭

若要顯示響應的 HTTP 頭信息,可使用 -i 選項:

curl -i https://www.example.com

這樣,響應的 HTTP 頭和內容都會顯示在終端。
在這里插入圖片描述

示例

curl可以用來復現某個請求的場景,可以通過network右鍵請求,以cURL格式復制,在聯調階段提供給后端復現異常case

cURL格式復制

  • 控制臺網絡右鍵,以cURL格式復制
    在這里插入圖片描述
    curl 'https://bizapi.csdn.net/blog-console-api/v3/editor/getArticle?id=147578947&model_type=' \-H 'accept: */*' \-H 'accept-language: zh-CN,zh-TW;q=0.9,zh;q=0.8,en-US;q=0.7,en;q=0.6' \-b $'uuid_tt_dd=10_20886590480-1715581486529-199232; UN=Sheng_zhenzhen; Hm_up_6bcd52f51e9b3dce32bec4a3997715ac=%7B%22islogin%22%3A%7B%22value%22%3A%221%22%2C%22scope%22%3A1%7D%2C%22isonline%22%3A%7B%22value%22%3A%221%22%2C%22scope%22%3A1%7D%2C%22isvip%22%3A%7B%22value%22%3A%220%22%2C%22scope%22%3A1%7D%2C%22uid_%22%3A%7B%22value%22%3A%22Sheng_zhenzhen%22%2C%22scope%22%3A1%7D%7D; __gpi=UID=00000e1a492850fb:T=1715590181:RT=1715839707:S=ALNI_MY8mypwNtf_Kj4GFL4esXQyjSOqqw; chat-version=2.1.1; cf_clearance=ITQEWw5z1YDm8Ze.0oxq0dDpsWkei6LjewH6KXUGLNI-1716793341-1.0.1.1-qlOvY2p_zmqgE_r7zm1eAid8o1f8Mkn56.JnPangSDHNvBP7eOd3Hk1mBoBf7HL5_7Kl4Yw597wVVuri1jPI_g; pluginId=kfkdboecolemdjodhmhmcibjocfopejo; pluginVersion=3.0.6; pluginUUID=10_79336979949-1717050176275-846154; Hm_ct_6bcd52f51e9b3dce32bec4a3997715ac=6525*1*10_20886590480-1715581486529-199232\u00215744*1*Sheng_zhenzhen; fid=20_82651201800-1723170159863-555732; _ga=GA1.2.1578275584.1715592580; _ga_7W1N0GEY1P=GS1.1.1730258945.16.1.1730259669.60.0.0; UserName=Sheng_zhenzhen; UserInfo=f99197ef9c784558bd56392ed10ea1b0; UserToken=f99197ef9c784558bd56392ed10ea1b0; UserNick=%E5%AD%A4%E5%BD%B1_ls; AU=6DB; BT=1731318494288; p_uid=U010000; csdn_newcert_Sheng_zhenzhen=1; historyList-new=%5B%5D; ssxmod_itna=eqRxnQi=oGqDq0KGQDXinxBKWSQQoDu7W=Gx0v4PGzDAxn40iDtrZ8liogYpB0mgmXi7YjdcN5EQfm0AWKGm3weK7ADAoDhx7QDox0=DnxAQDjhE4GGIxBYDQxAYDGDDPcDGqXORD7Otk0r5FmoIFI=5DbrK7DiKODYHmDAqGS2yC7o2CDDPmDl9sDWP7DQ5zm2PDExGOfbFwuxGarFffs4KDECbks/oDvhO7CxGd9pyzmpLtKC+eKihqS7a4EeRDQCGqhDxnOe+qqDxqmT2Yheb4OiG9Ho6otYD; tfstk=gDin20jl751jMalA9frBkA6nC5YTR9ZS4bI8wuFy75PsJ0eKU7VrGfUzypN-s7lEtuE8YbKorxHUTu3KegWz6-QFYuSU_PyunwJQ87rar-2Hd6zUzajaEbGuPpN8a7c-U2p9DnHIduZzqIKvDO-3WPi3a_EzAlo-YcVyDnHIL-vB51-xvqg8TWPz4yzz7GP_K8rzaWJg_82fz6lz4dvgEJ5P4MrPQhy43uPrauJiQ5wr63szi0osbClYILvtkxogKyVqKEsPqcjY-SkUsgRqjJjzgvPG4gPdhnZSUbRl2oujs04qN3j_vx0abJ0MUNPUo2lLCbxcYWoiLDPKYCILTDMZk0hwUgPo7qzYTVO6Vyuj9qziXBj_gVkieP06FwF-l8l7l0dfAWkrhmgYm3XuIqDajg7l7Z7sNgwwec75Pyy_ISHl-EHXIij76dvGleaUCJdvIdbSiyy_dspMIZr38RwpM; c_dl_prid=1740649897648_864214; c_dl_rid=1742281686650_772730; c_dl_fref=https://so.csdn.net/so/search; c_dl_fpage=/download/qq_38334677/86036480; c_dl_um=-; c_segment=0; HMACCOUNT=ED4D3BE6510A9B63; Hm_lvt_6bcd52f51e9b3dce32bec4a3997715ac=1745380057; dc_sid=a08809d45b2f461665e7b45d90a82006; c_ab_test=1; c_first_ref=default; creative_btn_mp=3; is_advert=1; c_utm_source=cknow_so_nontop_query; fe_request_id=1745742732533_5850_4056531; _clck=13wupaw%7C2%7Cfvg%7C0%7C1594; __gads=ID=fe72fa3892ac6714:T=1715590181:RT=1745809122:S=ALNI_MZqCAlmtjYUiq6y2U8l7MnIUe9Jlg; __eoi=ID=b59f0837bf8979e7:T=1731227900:RT=1745809122:S=AA-AfjZJvIGf_IEkWgWEjLcXhNEO; FCNEC=%5B%5B%22AKsRol_hZnRk3OSTXRkf8v9YwrMBJ7vSLML0MCqwwXkl8fxQjmyxyDuWVhga8YSqEKbq_XXLmkViw2c1POZuF2vRu5sL5KzLMcEfJLj-hTldXI5USMJ5rm09P5N0T_dDk3yLRDQ_lR-DU2S0GAe78YJt3TN39FbYFA%3D%3D%22%5D%5D; dc_session_id=10_1745764966337.725197; c_first_page=https%3A//www.csdn.net/; c_dsid=11_1745810721238.604193; c-sidebar-collapse=0; c_page_id=default; creativeSetApiNew=%7B%22toolbarImg%22%3A%22https%3A//img-home.csdnimg.cn/images/20230921102607.png%22%2C%22publishSuccessImg%22%3A%22https%3A//img-home.csdnimg.cn/images/20240229024608.png%22%2C%22articleNum%22%3A195%2C%22type%22%3A2%2C%22oldUser%22%3Atrue%2C%22useSeven%22%3Afalse%2C%22oldFullVersion%22%3Atrue%2C%22userName%22%3A%22Sheng_zhenzhen%22%7D; log_Id_click=12; c_pref=https%3A//editor.csdn.net/; c_ref=https%3A//mpbeta.csdn.net/; log_Id_pv=16; Hm_lpvt_6bcd52f51e9b3dce32bec4a3997715ac=1745811569; dc_tos=svestt; log_Id_view=558' \-H 'origin: https://editor.csdn.net' \-H 'priority: u=1, i' \-H 'referer: https://editor.csdn.net/' \-H 'sec-ch-ua: "Google Chrome";v="135", "Not-A.Brand";v="8", "Chromium";v="135"' \-H 'sec-ch-ua-mobile: ?0' \-H 'sec-ch-ua-platform: "macOS"' \-H 'sec-fetch-dest: empty' \-H 'sec-fetch-mode: cors' \-H 'sec-fetch-site: same-site' \-H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36' \-H 'x-ca-key: 203803574' \-H 'x-ca-nonce: e2186239-0495-49a9-8c05-02dd677772cf' \-H 'x-ca-signature: fIpNPDiIfxK5lYtg8bA/kjasew4xr8by8Ve9GxdqjHc=' \-H 'x-ca-signature-headers: x-ca-key,x-ca-nonce'
    

命令解釋

  1. 請求 URL
    • curl ‘https://bizapi.csdn.net/blog-console-api/v3/editor/getArticle?id=147578947&model_type=’
      • 此 URL 指向 CSDN 的文章獲取 API,id=147578947 表明要獲取的文章 ID 是 147578947。
  2. 請求頭參數
    • -H ‘accept: /’:表示客戶端能接受任意類型的響應內容。
      -H ‘accept-language: zh-CN,zh-TW;q=0.9,zh;q=0.8,en-US;q=0.7,en;q=0.6’:指明客戶端期望的語言順序,優先是中文(中國大陸、中國臺灣),其次是英文。
      -b:用于傳遞 Cookie 信息,其中包含了用戶的登錄狀態、用戶信息、會話 ID 等。
      -H ‘origin: https://editor.csdn.net’:表示請求的來源頁面是 https://editor.csdn.net。
      -H ‘referer: https://editor.csdn.net/’:表明請求是從 https://editor.csdn.net/ 頁面發起的。
      -H ‘user-agent: …’:模擬瀏覽器的用戶代理信息,這里模擬的是 Chrome 瀏覽器在 macOS 系統上的請求。
      -H ‘x-ca-key: …’、-H ‘x-ca-nonce: …’、-H ‘x-ca-signature: …’、-H ‘x-ca-signature-headers: …’:這些是自定義的請求頭。

執行效果
請添加圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/77841.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/77841.shtml
英文地址,請注明出處:http://en.pswp.cn/web/77841.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Redis應用場景實戰:穿透/雪崩/擊穿解決方案與分布式鎖深度剖析

一、緩存異常場景全解與工業級解決方案 1.1 緩存穿透&#xff1a;穿透防御的三重門 典型場景 惡意爬蟲持續掃描不存在的用戶ID 參數注入攻擊&#xff08;如SQL注入式查詢&#xff09; 業務設計缺陷導致無效查詢泛濫 解決方案進化論 第一層防護&#xff1a;布隆過濾器&am…

C# 高效操作excel文件

C#高效操作Excel文件指南 一、主流Excel處理方案對比 方案類型特點適用場景??EPPlus??第三方庫功能全面&#xff0c;性能好&#xff0c;支持.xlsx復雜Excel操作&#xff0c;大數據量??NPOI??第三方庫支持.xls和.xlsx&#xff0c;功能全面兼容舊版Excel文件??Closed…

Rust 學習筆記:結構體(struct)

Rust 學習筆記&#xff1a;結構體&#xff08;struct&#xff09; Rust 學習筆記&#xff1a;結構體&#xff08;struct&#xff09;結構體的定義和實例化使用字段初始化簡寫用 Struct Update 語法從其他實例創建實例使用沒有命名字段的元組結構來創建不同的類型沒有任何字段的…

Dify Agent節點的信息收集策略示例

Dify Agent節點的信息收集策略示例 0. 安裝"對話 Agent"插件1. 創建一個 Chatflow2. 創建一個 Agent 節點3. 創建一個條件分支節點4. 在IF分支創建一個LLM節點5. 創建一個直接回復節點6. 在ELSE分支創建一個直接回復節點7. 分布并預覽 0. 安裝"對話 Agent"…

Qt/C++開發監控GB28181系統/獲取設備信息/設備配置參數/通道信息/設備狀態

一、前言 設備注冊成功后&#xff0c;接下來要做的就是獲取設備的信息&#xff0c;尤其是通道信息&#xff0c;根據國標協議&#xff0c;永遠只有兩個層級&#xff0c;一個是設備&#xff0c;然后就是設備下面多個通道&#xff0c;設備編碼在整個系統中唯一&#xff0c;通道編…

金融風控的“天眼”:遙感技術的創新應用

在金融市場的復雜博弈中&#xff0c;風險管控一直是金融機構的核心競爭力。然而&#xff0c;傳統的風控手段在應對現代金融市場的快速變化時&#xff0c;往往顯得捉襟見肘。 如今&#xff0c;遙感技術的創新應用為金融風控帶來了全新的視角和手段。星圖云開放平臺的遙感金融立體…

HFI筆記

高頻分量&#xff1a; 載波頻率的一半 選擇alfabeta軸進行計算的原因 最終結果&#xff1a; 觀測器方程 采樣加減分離法-&#xff08;高低頻分離&#xff09; 高頻信號的評論高頻載波 轉子極性辨識

halcon關閉圖形窗口

1、dev_close_window () 調用一次這個函數關閉一個圖形窗口&#xff0c;并且先關閉最后打開的那個圖形窗口&#xff0c;如果一共打開了N個圖形窗口&#xff0c;那么就需要調用dev_close_window N次。

每日算法-250430

每日算法 - 2025年4月30日 記錄下今天解決的兩道題目。 870. 優勢洗牌 (Advantage Shuffle) 題目描述 解題思路與方法 核心思想&#xff1a;貪心策略 (田忌賽馬) 這道題的目標是對于 nums1 中的每個元素&#xff0c;找到 nums2 中一個比它小的元素進行配對&#xff08;如果…

【MySQL】增刪改查(CRUD)

目錄 一. CRUD是什么 二. Create&#xff08;新增數據&#xff09; 2.1 單行數據全列插入 2.2 單行數據指定列插入 2.3 多行數據指定列插入 三. Retrieve &#xff08;檢索/查詢&#xff09; 3.1 全列查詢 3.2 指定列查詢 3.3 查詢字段為表達式 3.4 為查詢結果指定別名 3…

電商平臺 API 開發實戰:京東商品詳情數據實時獲取接口對接教程

在電商行業競爭日益激烈的當下&#xff0c;實時獲取商品詳情數據對于市場分析、競品監控、商品推薦等業務場景至關重要。京東作為國內領先的電商平臺&#xff0c;提供了強大的 API 接口&#xff0c;允許開發者獲取豐富的商品信息。本文將詳細介紹京東商品詳情數據實時獲取接口的…

YOLO視覺模型可視化訓練與推理測試工具

推薦一款YOLO可視化訓練測試工具: 對于yolo的訓練,新手小白往往無從下手,本章推薦的這款工具可以非常輕易的幫您從模型訓練到測試到部署。 下載地址http://www.voouer.com/yolo 可以點擊此處跳轉。 下載成功后打開這款工具,將會出現圖形化界面,類似于下圖所示: 當前頁是可視…

微調 LLaMA 2:定制大型語言模型的分步指南

微調 LLaMA 2&#xff1a;定制大型語言模型的分步指南 深入了解如何運用新技術在 Google Colab 平臺上對 Llama-2 進行微調操作&#xff0c;從而有效克服內存與計算方面的限制&#xff0c;讓開源大型語言模型變得更加易于獲取和使用。自從 Meta 發布了 LLaMA 的首個版本后&…

探秘明遠智睿SSD2351開發板在HMI領域的獨特魅力

人機界面&#xff08;HMI&#xff09;是人與機器進行交互的重要橋梁&#xff0c;其性能和用戶體驗直接影響到整個系統的使用效果。明遠智睿的SSD2351開發板憑借其出色的性能和豐富的功能&#xff0c;在HMI領域展現出了獨特的魅力。 SSD2351開發板的四核1.4GHz處理器具備強大的圖…

Keysight萬用表使用指南及基于Python采集數據生成Excel文件

文章目錄 說明使用的庫openpyxlpyvisa 代碼說明效果展示參考代碼 說明 本文介紹了 Keysight 34465A 的基本使用和 SCPI 指令設置&#xff0c;演示了使用 Python 的 PyVISA 庫控制兩臺 34465A 同時采集數據的完整流程&#xff0c;包括設置采樣參數、觸發測量、讀取數據、使用 O…

Docker 獲取 Python 鏡像操作指南

1. 安裝 Docker 環境 1.1 上傳安裝腳本&#xff08;Windows → Linux&#xff09; 在 Windows 的 CMD 中執行&#xff1a; scp docker.sh root10.1.1.58:~ 可自行前往我的飛書下載docker.sh腳本 Docs 1.2 在 Linux 中檢查文件 ls -l ~ # 確認 docker.sh 已上傳到家目錄…

JavaScript:從JS的執行機制到location對象

一、JS執行機制 &#xff08;1&#xff09;JS是單線程 JavaScript語言的一大特點就是單線程&#xff0c;也就是同一時間只能做一件事。因為JavaScript是為了處理頁面中的用戶交互&#xff0c;以及制作DOM二誕生的。比如我們對某個DOM元素進行添加和刪除操作&#xff0c;這個不…

iVX:數字化轉型全場景技術革新與生態構建實踐

在數字經濟蓬勃發展的當下&#xff0c;企業數字化轉型需求日益迫切。iVX 憑借其獨特的技術架構與創新解決方案&#xff0c;深度滲透工業互聯網、元宇宙、智慧城市等領域&#xff0c;成為推動全場景數字化轉型的重要力量。本文將重新梳理 iVX 的技術應用與生態價值&#xff0c;以…

生物化學筆記:神經生物學概論05 感受野 視覺中樞 高級視皮層中的信息走向

信息傳遞中的“擊鼓傳花” 新特性的突現 功能柱&#xff1a;簡化節點 高級視皮層中的信息走向

StarRocks Lakehouse 如何重構大數據架構?

隨著數據分析需求的不斷演進&#xff0c;企業對數據處理架構的期望也在不斷提升。在這一背景下&#xff0c;StarRocks 憑借其高性能的實時分析能力&#xff0c;正引領數據分析進入湖倉一體的新時代。 4 月 18 日&#xff0c;鏡舟科技高級技術專家單菁茹做客開源中國直播欄目《…