拾贝杂苑

GoLang 通过http Post获取数据

func GetPostResponse(url, bodyType string, body *[]byte) (rdata []byte, err error) {
	b := bytes.NewBuffer(*body)
	var r *http.Response
	r, err = http.Post(url, bodyType, b)

	if err == nil {
		rbody := (*r).Body
		defer rbody.Close()

		var nRead int
		nRead, err = rbody.Read(rdata)
		if err != nil {
			Debug("GetPostResponse from (%s), read data error.", url)
			Debug(err.Error())
		}
		if nRead <= 0 {
			err = fmt.Errorf("GetPostResponse from (%s), read data error (%d)", url, nRead)
			Debug(err.Error())
		}
	} else {
		Debug("GetPostResponse from (%s), get error.", url)
		Debug(err.Error())
	}

	return rdata, err
}

 

posted on 2014-04-08 20:17  拾贝杂苑  阅读(5100)  评论(0编辑  收藏  举报

导航