校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > golang post請求常用的幾種方式小結

golang post請求常用的幾種方式小結

熱門標簽:阿克蘇地圖標注 excel地圖標注分布數據 評價高的400電話辦理 壽光微信地圖標注 百度地圖標注后傳給手機 外呼系統顯本地手機號 外呼系統用什么卡 涿州代理外呼系統 電話機器人軟件免費

post請求常用的幾種方式,記錄一下

func httpPost() {
    resp, err := http.Post("https://www.abcd123.top/api/v1/login",
        "application/x-www-form-urlencoded",
        strings.NewReader("username=testpassword=ab123123"))
    if err != nil {
        fmt.Println(err)
    }
    defer resp.Body.Close()
    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        // handle error
    }
    fmt.Println(string(body))
}
func httpPostForm() {
    resp, err := http.PostForm("https://www.denlery.top/api/v1/login",
        url.Values{"username": {"auto"}, "password": {"auto123123"}})
    if err != nil {
        // handle error
    }
    defer resp.Body.Close()
    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        // handle error
    }
    fmt.Println(string(body))
}
func httpPostJson() {
    jsonStr :=[]byte(`{ "username": "auto", "password": "auto123123" }`)
    url:= "https://www.denlery.top/api/v1/login"
    req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonStr))
    req.Header.Set("Content-Type", "application/json")
    client := http.Client{}
    resp, err := client.Do(req)
    if err != nil {
        // handle error
    }
    defer resp.Body.Close()
    statuscode := resp.StatusCode
    hea := resp.Header
    body, _ := ioutil.ReadAll(resp.Body)
    fmt.Println(string(body))
    fmt.Println(statuscode)
    fmt.Println(hea)
}

補充:golang中發送post的json請求

看代碼吧~

package main
import (
	"encoding/json"
	"log"
	"net/http"
)
type test_struct struct {
	Test string
}
//func test(rw http.ResponseWriter, req *http.Request) {
//	req.ParseForm()
//	log.Println(req.Form)
//	//LOG: map[{"test": "that"}:[]]
//	var t test_struct
//	for key, _ := range req.Form {
//		log.Println(key)
//		//LOG: {"test": "that"}
//		err := json.Unmarshal([]byte(key), t)
//		if err != nil {
//			log.Println(err.Error())
//		}
//	}
//	log.Println(t.Test)
//	//LOG: that
//}
func test(rw http.ResponseWriter, req *http.Request) {
	decoder := json.NewDecoder(req.Body)
	var t test_struct
	err := decoder.Decode(t)
	if err != nil {
		panic(err)
	}
	log.Println(t.Test)
}
func main() {
	http.HandleFunc("/test", test)
	log.Fatal(http.ListenAndServe(":8082", nil))
}

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • 在golang xorm中使用postgresql的json,array類型的操作
  • golang使用http client發起get和post請求示例
  • go Http Post 發送文件流案例
  • GO接收GET/POST參數及發送GET/POST請求的實例詳解

標簽:重慶 梅河口 吐魯番 汕頭 欽州 蘭州 銅川 雞西

巨人網絡通訊聲明:本文標題《golang post請求常用的幾種方式小結》,本文關鍵詞  golang,post,請求,常用的,常,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《golang post請求常用的幾種方式小結》相關的同類信息!
  • 本頁收集關于golang post請求常用的幾種方式小結的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 平利县| 封丘县| 康定县| 萨迦县| 新昌县| 西乌珠穆沁旗| 遂川县| 腾冲县| 姚安县| 万宁市| 潮州市| 定南县| 安岳县| 德清县| 祁连县| 莆田市| 南投县| 花莲县| 介休市| 淮阳县| 平乐县| 定陶县| 神木县| 上思县| 阳山县| 石台县| 泗阳县| 新晃| 运城市| 通海县| 峡江县| 汕头市| 东光县| 夹江县| 阿荣旗| 大悟县| 涞水县| 屏东县| 华阴市| 思茅市| 叶城县|