使用golang進行http,get或postJson請求
更新時間:2023年12月13日 10:50:14 作者:彥楠
這篇文章主要為大家詳細介紹了如何使用golang進行http,get或postJson請求,文中的示例代碼簡潔易懂,具有一定的借鑒價值,感興趣的小伙伴可以了解一下
1、http封裝get,postJson類
package httpUtil import ( "bytes" logxx "go-gift-panel/src/log" "io" "io/ioutil" "net/http" ) func PostJson(url string, jsonData []byte) string { logxx.Log.Info("請求的url=", url, " 請求的JSON Data:", string(jsonData)) // 輸出 JSON 格式的數據 resp, err := http.Post(url, "application/json", bytes.NewBuffer(jsonData)) // 發(fā)起 POST 請求 if err != nil { logxx.Log.Error("ERROR postJson請求異常 http.Post err:", err) return "e" } defer func(Body io.ReadCloser) { err := Body.Close() if err != nil { logxx.Log.Error("ERROR postJson請求異常 Body.Close err:", err) } }(resp.Body) body, err := ioutil.ReadAll(resp.Body) // 讀取響應內容 if err != nil { logxx.Log.Error("ERROR postJson讀取body異常 ioutil.ReadAll err:", err) return "e" } logxx.Log.Info("請求返回內容 Response Body:", string(body), " Response Status:", resp.Status) // 輸出響應內容 return string(body) } func Get(url string) { logxx.Log.Info("請求的url=", url) // 輸出 resp, err := http.Get(url) // 發(fā)起 GET 請求 if err != nil { logxx.Log.Error("ERROR Get請求異常 http.Post err:", err) return } defer func(Body io.ReadCloser) { err := Body.Close() if err != nil { logxx.Log.Error("ERROR Get請求異常 Body.Close err:", err) } }(resp.Body) body, err := ioutil.ReadAll(resp.Body) // 讀取響應內容 if err != nil { logxx.Log.Error("ERROR Get讀取body異常:", err) return } logxx.Log.Info("請求返回內容 Response Body:", string(body), " Response Status:", resp.Status) // 輸出響應內容 }
2、日志logxx類
package logxx import ( "github.com/sirupsen/logrus" "gopkg.in/natefinch/lumberjack.v2" "io" "os" ) var Log = logrus.New() // var file *os.File func Init() { logFile := &lumberjack.Logger{ Filename: "/data/giftpanel/logs/giftpanel_.log", MaxSize: 100, // megabytes 單個文件大小100MB MaxBackups: 100, //保留100個文件 MaxAge: 60, //days 保留60天 Compress: false, // 是否壓縮 便于查詢不壓縮 LocalTime: true, //true使用本地時區(qū) } // 設置日志級別 Log.SetLevel(logrus.InfoLevel) // 設置輸出文件名和代碼行號 Log.SetReportCaller(true) // 設置日志格式為JSON格式 Log.SetFormatter(&logrus.JSONFormatter{ TimestampFormat: "2006-01-02 15:04:05.000", // 設置時間格式,包括毫秒 }) Log.SetOutput(logFile) // 設置同時輸出到控制臺和文件 Log.SetOutput(io.MultiWriter(os.Stdout, logFile)) }
到此這篇關于使用golang進行http,get或postJson請求的文章就介紹到這了,更多相關go請求內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!