一、安裝CURL
首先yum安裝wget
yum -y install wget
切換到自定義的下載安裝包目錄software
1.下載curl包(可以到https://curl.haxx.se/download/ 下載不同的版本)
wget https://curl.haxx.se/download/curl-7.70.0.tar.gz
2.解壓文件
tar -xzvf curl-7.70.0.tar.gz
3.進入解壓後的目錄
cd curl-7.70.0
4.配置,指定安裝的目錄,這裏是/gangye/tools/curl,分別執行
./configure --prefix=/gangye/tools/curl
make
執行./configure出現
configure: error: in `/software/curl-7.70.0':
configure: error: no acceptable C compiler found in $PATH
原因是: 缺少gcc編譯環境
配置yum,可以用yum install -y gcc
沒有配置yum:可以安裝gcc的安裝包
安裝gcc
安裝gcc成功後,再次重複之前的config以及make操作
5.安裝
make install
6.至此安裝成功,使用指令測試是否安裝成功
curl --version
curl http://www.baidu.com
tips:關於環境變量的問題(由於測試沒有環境變量的問題出現,直接可以使用,重啓後,在任何目錄下都可以正常使用curl,此處沒有執行下面的配置,後期出現再配置)
vi /etc/profile
export PATH=$PATH:/gangye/tools/curl
使用shell腳本執行curl進行讀取文件跑批
搭建一個http請求的demo,http://192.168.91.1:8089/testCurl/createStudent,在請求體重對應的json,
可以向數據庫中插入一條記錄。
但是現在需要腳本文件讀取一個文件中的數據(文件路徑/gangye/stuFile),批量調用路由,將數據存到數據庫中
將stuFile裏的數據使用curl指令結合shell腳本文件存儲到數據庫中
步驟:
1.創建一個腳本文件testCurlShellWithReafFile.sh
vi testCurlShellWithReafFile.sh
2.在裏面編寫文件內容(由於我的返回報文是{"code":200,"message":"ok"},所以我根據返回報文是否有"message":"ok"判斷是否執行成功)
#!/bin/bash
for line in $(cat $1)
do
curl "http://192.168.91.1:8089/testCurl/createStudent" -H "Content-Type:application/json" -X POST -d '{
"stuNo": "'"$line"'"
} ' |grep -w '"message":"ok"'
if [ $? -eq 0 ];then
echo "success"
else
echo $line
echo "fail"
exit 1
fi
done
編寫完後保存
3.然後給腳本文件增加可執行權限,並執行
chmod +x ./testCurlShellWithReafFile.sh
sh testCurlShellWithReafFile.sh /gangye/stuFile
可以看到結果:
再看數據庫的記錄,已經保存進去
注意:腳本文件在windows編寫完,通過ftp傳輸到虛擬機的linux執行可能報語法錯誤 語法錯誤:未預期的文件結尾,我就遇到了,查看shell腳本沒有任何問題,然後就在linux中手敲指令了,也可以參考下面的解決方法
https://www.cnblogs.com/lurenjia1994/p/9485682.html