微信支付数据发送
微信支付数据需要以post的方式发送到微信支付接口
开发实现
创建package tools
创建文件夹tools
实现网络请求
创建http.go文件
package tools
import (
"crypto/tls"
"fmt"
"io/ioutil"
"net/http"
"runtime"
"strings"
)
//http get请求
func Get(geturl string) []byte {
res, err := http.Get(geturl)
if err != nil {
fmt.Println(err)
}
robots, err := ioutil.ReadAll(res.Body)
res.Body.Close()
if err != nil {
fmt.Println(err)
}
return robots
}
//http post请求
func Post(posturl string, data string) []byte {
res, err := http.Post(posturl, "charset=UTF-8", strings.NewReader(data))
if err != nil {
fmt.Println(err)
}
robots, err := ioutil.ReadAll(res.Body)
res.Body.Close()
if err != nil {
fmt.Println(err)
}
return robots
}
//http 带证书的post请求,证书格式为pem
func SSLPost(posturl string, data string) []byte {
fmt.Println(runtime.GOROOT())
cert, err := tls.LoadX509KeyPair(runtime.GOROOT()+"/cert.pem", runtime.GOROOT()+"/key.pem")
if err != nil {
fmt.Println(err)
}
config := tls.Config{Certificates: []tls.Certificate{cert}, InsecureSkipVerify: true}
tr := &http.Transport{
TLSClientConfig: &config,
}
client := &http.Client{Transport: tr}
res, err := client.Post(posturl, "application/x-www-form-urlencoded", strings.NewReader(data))
if err != nil {
fmt.Println(err)
}
robots, err := ioutil.ReadAll(res.Body)
res.Body.Close()
if err != nil {
fmt.Println(err)
}
return robots
}
func Parserequest(r *http.Request) []byte {
r.ParseForm()
result, _ := ioutil.ReadAll(r.Body)
return result
}
func Parseresponse(r *http.Response) []byte {
result, _ := ioutil.ReadAll(r.Body)
return result
}
不做详细解释,有不明白的可以留言
本文介绍了如何通过POST方式将微信支付数据发送到微信支付接口的实现过程,包括创建工具包、实现网络请求等关键步骤。
432

被折叠的 条评论
为什么被折叠?



