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指令 cd
嵌入式開發需要不斷積累linux相關知識,所以在此天天不厭其煩 日積月累。cd change directory 命令是linux中最常用命令之一,我覺得另乙個應該是ls 後續介紹 主要功能是跳轉到cd命令指定目錄。cd命令格式 cd l p dir 常用cd命令 1.跳轉到指定目錄 cd dir ...
一天一條Linux指令 apt
由於昨天去assem公司除錯電路,接觸linux下依賴包的安裝大牛,遂整理了一下apt命令。apt get命令本身並不具有管理軟體包功能,只是提供了乙個軟體包管理的命令列平台。在這個平台上使用更豐富的子命令,完成具體的管理任務。apt get命令的一般語法格式為 apt get subcommand...
一天一條Linux指令 find
前言 我們為什麼要學會使用find命令?每一種作業系統都有成千上萬的檔案組成,對於linux這樣 一切皆檔案 的作業系統來說更不例外,大家應該都能很輕鬆使用windows下的檔案查詢功能,但是對linux這一功能可能並不是很熟悉,其實想玩linux的你更要牢牢掌握這個命令,因為linux不像wind...