curl是乙個利用url語法在命令列模式下工作的檔案傳輸工具,是我們經常用到的工具,用得最多的便是用來測試http介面。在這裡對部分請求的使用方式做乙個總結,熟練使用curl後,在不能使用postman等圖形工具的時候,也可以方便的除錯自己的介面。
curl ''
這便是發起乙個最簡單http請求,不帶任何請求引數。
curl 'test?param1=a¶ms2=b'
url傳參,多個引數使用&
連線。
curl 'test' -h 'test_header1: hello' -h 'test_header2: world'
使用-h
來傳遞http請求的header,格式:key:value
,如果需要多個header,使用多個-h
即可。
curl可以以5種方式設定post的內容:
例:curl 'test' -d 'param1=hello¶m2=curl'
## 傳遞json字串
## 資料需要進行url編碼
curl 'test' --data-urlencode 'key=a+a+a+'
根據需要設定不同post內容傳遞方式,設定對應的header。
curl -x 'put' 'test' -d 'param1=hello¶m2=curl'
可以使用這種方式設定需要的請求方式:get、post、put、delete、option。
curl -x 'post' 'test' -f '[email protected]' -f "key=what"
使用這種方式,content-type會被設定為multipart/form-data,通過表單的形式提交檔案,需要注意的是檔案路徑前使用@
來表示這是乙個檔案路徑,否則會作為普通字串傳遞,傳遞檔案的同時我們可以傳遞其他的引數,使用多個-f
即可。
curl -k -x 'post' 'test' -f '[email protected]' -f "key=what"
使用-k
選項,使用ssl時允許不安全的伺服器連線。
使用以下選項來設定請求時http協議版本版本。
例:
curl -x 'delete' 'test' -d 'key=a+a+a+' --http1.0
## 直接設定cookie
curl 'test' --cookie "user=admin;pass=admin"
## 儲存cookie到檔案
curl -b 'cookie.txt' 'test'
## 使用cookie檔案
curl -c '@cookie.txt' 'test'
很多時候我們需要檢視響應和請求的頭,只需要帶上-v
選項即可。
例:
curl 'test' -d 'key=a+a+a+' --http1.0 --cookie 'user=admin;password=root' -v
``列印大概如下:
PHP使用curl偽造IP位址和header資訊
curl雖然功能強大,但是只能偽造 server http x forwarded for 對於大多數ip位址檢測程式來說,server remote addr 很難被偽造 首先是client.php的 12curl setopt ch,curlopt httpheader headerarr 構造...
如何使用curl命令指定ip訪問url
有時我們需要測試乙個url,但網域名稱並沒解析,這時為了乙個簡單的測試而寫host或去做網域名稱解析,顯然這並不高效,而有些網域名稱甚至是正式的網域名稱,因此我們可有使用curl命令進行測試 方法一curl url x ip port 例curl x 10.12.20.21 80 這個方法訪問是正常...
命令列檢視公網IP地理位置 使用curl
curl cip.cc curl ipinfo.io ip 34.80.248.126 hostname 126.248.80.34.bc.googleusercontent.com city new york city region new york country us loc 40.7143,...