一天一條Linux指令 curl

2021-07-24 08:49:17 字數 3331 閱讀 3344

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...