1. 程式人生 > 實用技巧 >Linux實戰筆記(一) curl基本使用

Linux實戰筆記(一) curl基本使用

1、基本介紹

curl 是一個很強大的命令列工具,主要用於傳送和解析網路請求,常規的命令格式如下:

> curl [options...] <url>

基本的用法很簡單,難點在於怎樣加入合適的引數,傳送出一個符合自己預期的 “好” 請求

下面我們主要來談談各個引數的含義和用法

2、常用引數

這裡使用 http://www.httpbin.org 進行測試,這個網站可以返回所傳送請求的相關資訊,十分適合練習使用

  • 指定請求方法
> curl -X <method> <url>
> curl --request <method> <url>
> # 傳送 GET 請求
> curl -X GET http://www.httpbin.org/get
> # 傳送 POST 請求
> curl -X POST http://www.httpbin.org/post
  • 指定請求頭
> curl -H <header> <url>
> curl --header <header> <url>
> # 指定 User-Agent
> curl -H "User-Agent: python-requests/2.20.1" http://www.httpbin.org/get
> # 指定 Referer
> curl -H "Referer: http://www.httpbin.org" http://www.httpbin.org/get
  • 指定 User-Agent 請求頭
> curl -A <agent> <url>
> curl --user-agent <agent> <url>
> # 修改 User-Agent
> curl -A python-requests/2.20.1 http://www.httpbin.org/get
  • 指定 Referer 請求頭
> curl -e <referer> <url>
> curl --referer <referer> <url>
> # 修改 Referer
> curl -e http://www.httpbin.org http://www.httpbin.org/get
  • 指定 Cookie
> curl -b <data> <url>
> curl --cookie <data> <url>
> # 指定 cookie
> curl -b "username=admin;password=12345" http://www.httpbin.org/cookies/set
> # 在請求 cookies/set 的時候,網站會有一個重定向,所以我們可以加上 `-L` 引數跟隨伺服器重定向
> curl -b "username=admin;password=12345" -L http://www.httpbin.org/cookies/set
  • 只顯示響應頭
> curl -I <url>
> curl --head <url>
> # 只顯示響應頭
> curl -I http://www.httpbin.org/get
  • 同時顯示響應頭和響應內容
> curl -i <url>
> curl --include <url>
> # 同時顯示響應頭和響應內容
> curl -i http://www.httpbin.org/get
  • 將響應頭寫入檔案
> curl -D <filename> <url>
> curl --dump-header <filename> <url>
> # 將響應頭寫入檔案
> curl -D headers.txt http://www.httpbin.org/get
  • 將響應內容寫入檔案,相當於 wget
> curl -o <filename> <url>
> curl --output <filename> <url>
> # 將響應內容寫入檔案
> curl -o content.txt http://www.httpbin.org/get
  • 傳送表單資料,並使用 POST 請求方法
> curl -d <data> <url>
> curl --data <data> <url>
> # 傳送表單資料,並使用 POST 請求方法
> curl -d "username=admin" -d "password=12345" http://www.httpbin.org/post
  • 將表單資料放在 URL 中傳送,並使用 GET 請求方法
> curl -G <url>
> curl --get <url>
> # 將表單資料放在 URL 中傳送,並使用 GET 請求方法
> curl -G -d "username=admin" -d "password=12345" http://www.httpbin.org/get
  • 顯示詳細資訊
> curl --verbose <url>
> # 顯示詳細資訊
> curl --verbose http://www.httpbin.org/get
  • 顯示完整過程,輸出到指定的檔案
> curl --trace <filename> <url>
> # 顯示完整過程,輸出到指定的檔案
> curl --trace trace.txt http://www.httpbin.org/get
  • 跳過 SSL 檢測
> curl -k <url>
> curl --insecure <url>
> # 跳過 SSL 檢測
> curl -k https://www.httpbin.org/get
  • 指定代理
> curl -x <proxy> <url>
> curl --proxy <proxy> <url>
> # 指定代理
> curl -x 127.0.0.1:8080 http://www.httpbin.org/get
  • 限制頻寬,可以用於模擬慢速網路
> curl --limit-rate <rate> <url>
> # 限制頻寬
> curl --limit-rate 100k http://www.httpbin.org/get