1.POST請求
package main
import (
"bytes"
"net/http"
"io/ioutil"
)
type getToken struct{ // 用于將string格式轉成json格式,取出token
Token string `json:"token"`
}
// 處理post請求
func GetToken() string {
jsonStr :=[]byte(`{ "username": "xxx", "password": "xxx" }`) // 請求時需要帶的引數
url:= "url" // 請求的url
req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonStr)) // 發起請求,沒有引數時,可將bytes.NewBuffer(jsonStr)改為nil
req.Header.Add("Content-Type", "application/json") // 發起請求時需要的頭資訊
rst.Header.Add("AUTHORIZATION", token) // 發起請求時需要的頭資訊,需要多個時,可繼續往后面加
client := &http.Client{} // 處理回傳結果
resp, err := client.Do(req)
if err != nil {
// handle error
}
defer resp.Body.Close()
var tokenJson getToken // 定義一個結構體,用來將結果的string格式轉成json格式,便于對請求結果進行處理
body, _ := ioutil.ReadAll(resp.Body) // 讀取請求結果
tokenGet := string(body) // 請求結果string格式
errJson := json.Unmarshal([]byte(tokenGet), &tokenJson) // 將string 格式轉成json格式
if errJson != nil {
initlog.Error.Println(errJson) // 錯誤寫進日志檔案
}
return tokenJson.Token // 所需要的請求結果token
}
注意:上述代碼定義的結構體getToken,是用來將請求的string格式轉成便于處理的json格式,結構體里面的元素名稱的首字母必須是大寫!否則容易采坑!
2.Get 請求與post是一樣的,只需要將http.NewRequest()里面的方法改成GET即可,這里就不上代碼了
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/116556.html
標籤:其他
上一篇:如何動態生成Oracle連接串,與oracle動態連接
下一篇:虛擬幣的影響
