F1.微信支付网络请求工具

来源:互联网 发布:对外承包工程数据库 编辑:程序博客网 时间:2024/05/21 15:06

微信支付数据发送

微信支付数据需要以post的方式发送到微信支付接口

开发实现

创建package tools

创建文件夹tools

实现网络请求

创建http.go文件

package toolsimport (    "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请求,证书格式为pemfunc 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}

不做详细解释,有不明白的可以留言

0 0
原创粉丝点击