Linux命令之curl 強大的網路傳輸工具

2021-06-18 11:25:39 字數 3342 閱讀 9558

**:

curl命令使用了libcurl庫來實現,libcurl庫常用在c程式中用來處理http請求,curlpp是libcurl的乙個c++封裝,這幾個東西可以用在抓取網頁、網路監控等方面的開發,而curl命令可以幫助來解決開發過程中遇到的問題。

curl命令引數很多,這裡只列出我曾經用過、特別是在shell指令碼中用到過的那些。

-v/--verbose 小寫的v引數,用於列印更多資訊,包括傳送的請求資訊,這在除錯指令碼是特別有用。

-m/--max-time 指定處理的最大時長

-h/--header 指定請求頭引數

-s/--slient 減少輸出的資訊,比如進度

--connect-timeout 指定嘗試連線的最大時長

-x/--proxy 指定**伺服器位址和埠,埠預設為1080

-t/--upload-file 指定上傳檔案路徑

-o/--output 指定輸出檔名稱

-d/--data/--data-ascii 指定post的內容

--retry 指定重試次數

-e/--referer 指定引用位址

-i/--head 僅返回頭部資訊,使用head請求

[root@jfht ~]# curl

歡迎您 - 上海騰一

。此處省略掉網頁內容 。

以下是乙個tomcat監控指令碼的部分內容。

bash**  

# usage: check_once 

# 使用curl檢查網頁是否可以正常訪問,如果不能訪問就重啟tomcat。  

check_once()  

# usage: check_loop 

# 每隔一分鐘檢查一次網頁是否正常  

check_loop()  

# usage: monitor 

# 對path指定的本機網頁進行監控  

# 2008.06.26

# 2010.09.20 add path parameter  

monitor()    

這個指令碼的執行方式是 monitor ,比如monitor main/index.html。下面是執行時輸出的日誌資訊片段。

2023年 10月 09日 星期六 15:20:38 cst  tomcat check once

2023年 10月 09日 星期六 15:20:46 cst  tomcat maybe ok

2023年 10月 09日 星期六 15:21:46 cst  tomcat check once

2023年 10月 09日 星期六 15:21:57 cst  tomcat maybe fault

tomcat is now running, not stopped: 0

tomcat is now running, not stopped: 1

tomcat is now running, not stopped: 2

tomcat is now running, not stopped: 3

tomcat is now running, not stopped: 4

tomcat is now running, not stopped: 5

tomcat is now running, not stopped: 6

tomcat is now running, not stopped: 7

tomcat is now running, not stopped: 8

tomcat is now running, not stopped: 9

tomcat killed use sigkill

tomcat stopped

starting tomcat

2023年 10月 09日 星期六 15:23:09 cst  tomcat check once

2023年 10月 09日 星期六 15:23:09 cst  tomcat maybe ok

2023年 10月 09日 星期六 15:24:09 cst  tomcat check once

2023年 10月 09日 星期六 15:24:09 cst  tomcat maybe ok

bash**  

# 要檢查的網頁位址  

url=""

# usage:   

curlit()  

# 只有min_alarm次訪問失敗時才告警  

min_alarm=10

#   

doit()  

doit >>log/curlit.log 2>&1

乙個用於http post的指令碼。

bash**  

#!/bin/sh  

ms=1350514***x  

tm=$(date +"%y%m%d%h%m%s")  

dt=$(date +"%y%m%d")  

cat 

<?xml  version="1.0" encoding="gbk" ?>  

qztboss

t51000010  

$tm$tm

$dt0

01$ms

14  

1419

0151

$tm27  

510001

]]>  

eof  

cat reqtmp.xml  

url=""

curl --verbose --upload-file reqtmp.xml  --header "content-type: text/xml"

"$url" --output rsptmp.xml  

cat rsptmp.xml  

bash**  

# usage: do_sync_once 

do_sync_once()    

bash**  

# usage: google_search 

# google搜尋  

google_search()    

Linux 強大的 curl 命令

最近看 http權威指南 一直看到書上面說的客戶端構造http報文去請求服務端,於是乎,一直想我在linux下面如何去模擬http請求呢?後台在網上查,原來是可以通過curl命令請求的,先貼一下curl命令的強大功能 curl是乙個強大的命令列工具,它可以通過網路將資訊傳遞給伺服器或者從伺服器獲取資...

linux命令集錦之curl

curl curl o mygettext.html 將檔案儲存到本地並命名為gettext.html curl o 重定向curl l 斷點續傳 curl c o 訪問授權頁面 curl u username password url curl u username url curl z 21 d...

linux 簡單強大的命令

mkdir aa mv bb cd pwd root bb ls lsbb pwd root aa cd root bb cd pwd root aa ld bash ld 未找到命令 d s ls du s home sort n tail 檢視最大的10個目錄 file 建立乙個空檔案 ps a...