golang post發送application/json數據到服務器


  Golang在網絡編程上非常方便。下面介紹下如果通過Content-Type:application/json;charset=UTF-8發送數據到服務器。

  

import (
	"net/http"
	"encoding/json"
	"fmt"
	"bytes"
	"io/ioutil"
	"unsafe"
)

type JsonPostSample struct {

}

func (this *JsonPostSample) SamplePost() {
	song := make(map[string]interface{})
	song["name"] = "李白"
	song["timelength"] = 128
	song["author"] = "李榮浩"
	bytesData, err := json.Marshal(song)
	if err != nil {
		fmt.Println(err.Error() )
		return
	}
	reader := bytes.NewReader(bytesData)
	url := "http://localhost/echo.php"
	request, err := http.NewRequest("POST", url, reader)
	if err != nil {
		fmt.Println(err.Error())
		return
	}
	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
	client := http.Client{}
	resp, err := client.Do(request)
	if err != nil {
		fmt.Println(err.Error())
		return
	}
	respBytes, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		fmt.Println(err.Error())
		return
	}
	//byte數組直接轉成string,優化內存
	str := (*string)(unsafe.Pointer(&respBytes))
	fmt.Println(*str)
}

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM