35 lines
		
	
	
		
			837 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			837 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package utils
 | ||
| 
 | ||
| import (
 | ||
| 	"bytes"
 | ||
| 	"io/ioutil"
 | ||
| 	"net/http"
 | ||
| )
 | ||
| 
 | ||
| func Post(url, data string) (string, error) {
 | ||
| 	reader := bytes.NewReader([]byte(data))
 | ||
| 
 | ||
| 	request, err := http.NewRequest("POST", url, reader)
 | ||
| 	if err != nil {
 | ||
| 		return "", err
 | ||
| 	}
 | ||
| 	defer request.Body.Close() //程序在使用完回复后必须关闭回复的主体
 | ||
| 	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
 | ||
| 	//必须设定该参数,POST参数才能正常提交,意思是以json串提交数据
 | ||
| 
 | ||
| 	client := http.Client{}
 | ||
| 	resp, err := client.Do(request) //Do 方法发送请求,返回 HTTP 回复
 | ||
| 	if err != nil {
 | ||
| 		return "", err
 | ||
| 	}
 | ||
| 
 | ||
| 	respBytes, err := ioutil.ReadAll(resp.Body)
 | ||
| 	if err != nil {
 | ||
| 		return "", err
 | ||
| 	}
 | ||
| 
 | ||
| 	//byte数组直接转成string,优化内存
 | ||
| 	// str := (*string)(unsafe.Pointer(&respBytes))
 | ||
| 	return string(respBytes), nil
 | ||
| }
 |