mirror of
https://github.com/silenceper/wechat.git
synced 2026-02-12 00:32:26 +08:00
add PostJSONWithRespContentType
This commit is contained in:
@@ -5,7 +5,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/silenceper/wechat/util"
|
"github.com/JefferyWang/wechat/util"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|||||||
26
util/http.go
26
util/http.go
@@ -50,6 +50,32 @@ func PostJSON(uri string, obj interface{}) ([]byte, error) {
|
|||||||
return ioutil.ReadAll(response.Body)
|
return ioutil.ReadAll(response.Body)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// PostJSONWithRespContentType post json数据请求,且返回数据类型
|
||||||
|
func PostJSONWithRespContentType(uri string, obj interface{}) ([]byte, string, error) {
|
||||||
|
jsonData, err := json.Marshal(obj)
|
||||||
|
if err != nil {
|
||||||
|
return nil, "", err
|
||||||
|
}
|
||||||
|
|
||||||
|
jsonData = bytes.Replace(jsonData, []byte("\\u003c"), []byte("<"), -1)
|
||||||
|
jsonData = bytes.Replace(jsonData, []byte("\\u003e"), []byte(">"), -1)
|
||||||
|
jsonData = bytes.Replace(jsonData, []byte("\\u0026"), []byte("&"), -1)
|
||||||
|
|
||||||
|
body := bytes.NewBuffer(jsonData)
|
||||||
|
response, err := http.Post(uri, "application/json;charset=utf-8", body)
|
||||||
|
if err != nil {
|
||||||
|
return nil, "", err
|
||||||
|
}
|
||||||
|
defer response.Body.Close()
|
||||||
|
|
||||||
|
if response.StatusCode != http.StatusOK {
|
||||||
|
return nil, "", fmt.Errorf("http get error : uri=%v , statusCode=%v", uri, response.StatusCode)
|
||||||
|
}
|
||||||
|
responseData, err := ioutil.ReadAll(response.Body)
|
||||||
|
contentType := response.Header.Get("Content-Type")
|
||||||
|
return responseData, contentType, err
|
||||||
|
}
|
||||||
|
|
||||||
//PostFile 上传文件
|
//PostFile 上传文件
|
||||||
func PostFile(fieldname, filename, uri string) ([]byte, error) {
|
func PostFile(fieldname, filename, uri string) ([]byte, error) {
|
||||||
fields := []MultipartFormField{
|
fields := []MultipartFormField{
|
||||||
|
|||||||
Reference in New Issue
Block a user