Linux實戰筆記(一) curl基本使用
阿新 • • 發佈:2020-07-15
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