命令行請求

運營提供了一個用戶列表,csv的文件格式,須要給這批用戶發優惠券。而線上環境已經有現成的接口,只須要構造參數、請求接口就能夠實現。shell

我習慣的作法是維護一個job目錄,而後寫一個執行腳本,無論是go語言、仍是shell,讀取文件內容,而後請求接口。好比說:bash

-- job
---- send_coupon.go
---- send_badge.go

針對這種處理模式,其實還能夠直接在命令行寫shell執行,比上述的處理要便捷不少。shell主要操做也是兩步:curl

  1. 獲取文件中有效的數據
  2. 請求接口

獲取數據的方式真的挺多的,我比較經常使用的是awk。好比,文件的格式以下:ui

姓名, uid
張三,1
Tony,2

要獲取用戶的uid,只須要手動刪除第一行(哈哈),而後執行:url

# 將行按,分割,而後獲取第二列
awk -F, '{print $2}' file.csv

而後就是使用curl發起請求,以POST請求爲例,常規的請求方式:命令行

curl -X POST http://remote.com/user/coupon -d "uid=1"

接下來,咱們只須要將curl命令中的1替換成awk中的數據。連續處理數據的話,咱們都使用管道符(|),但替換參數的話,須要使用xargs命令,它有一個-I屬性,專門用來作這件事的。code

awk -F, '{print $2}' file.csv | xargs -I {} curl -X POST http://remote.com/user/coupon -d "uid={}"

注:若是使用的是Mac下的命令行,須要作轉譯接口

相關文章
相關標籤/搜索