首页 > 其他分享 >【Go】发送请求

【Go】发送请求

时间:2022-12-15 16:24:28浏览次数:36  
标签:请求 err nil Unknown resp xxx reqMap 发送 Go

发送post请求

reqMap := make(map[string]interface{})
reqMap["order_num"] = request.OutTradeNo
reqMap["transaction_id"] = request.TransactionId
reqMap["pay_time"] = request.SuccessTime
reqMapStr, _ := json.Marshal(reqMap)

reader := bytes.NewReader(reqMapStr)
url := "https://xxx.xxx.com/api/xxx/xxx/getNotify" //要访问的Url地址
resp, err := http.NewRequest("POST", url, reader)
defer resp.Body.Close() //程序在使用完回复后必须关闭回复的主体
if err != nil {
    return nil, status.Errorf(codes.Unknown, "xxx")
}
resp.Header.Set("Content-Type", "application/json;charset=UTF-8")
client := http.Client{}
resp1, err := client.Do(resp) //Do 方法发送请求,返回 HTTP 回复
if err != nil {
    return nil, status.Errorf(codes.Unknown, "xxx")
}
respBytes, err := ioutil.ReadAll(resp1.Body)
if err != nil {
    return nil, status.Errorf(codes.Unknown, "xxx")
}
rspStr := (*string)(unsafe.Pointer(&respBytes))
if "success" != *rspStr {
    return nil, status.Errorf(codes.Unknown, "xxx")
}

标签:请求,err,nil,Unknown,resp,xxx,reqMap,发送,Go
From: https://www.cnblogs.com/wangjinkui/p/16985325.html

相关文章

  • 深度学习 | MATLAB Deep Learning Toolbox trainingOptions 参数设定
    深度学习|MATLABDeepLearningToolboxtrainingOptions设定训练参数trainingOptions运行环境MATLABDeepLearningToolbox是深度学习工具箱,可以构建LSTM(长短期记忆神......
  • Go语言获取路径的文件名、后缀
    packagemainimport( "fmt" "path" "path/filepath")funcmain(){ filePath:="D:/DDPS/log/log.txt" paths,fileName:=filepath.Split(filePath) fm......
  • mitmproxy 抓包神器-1.环境准备与抓取浏览器请求
    前言常见的抓包工具有fiddler和charles,这些工具都是需要安装本地客户端,python版的抓包工具可以用mitmproxy。mitmproxy相比Charles、fiddler的优点在于,它可以命令......
  • 实现一个会动的鸿蒙 LOGO
    本文将带大家简单实现一个会动的鸿蒙LOGO。emmm,写本文的动机是之前在掘金看到一篇实现鸿蒙LOGO的文章--​​产品经理:鸿蒙那个开场动画挺帅的给咱们页面也整一个呗​​......
  • Go-快速排序
    packagemainimport("fmt""math/rand")//3,9,2,8,1,7,4,6,5,10//39,2,8,1,7,4,6,5,10//2,13,9,2,8,,7,4,6,5,10//9,2,8,,7,4,6,5,10/......
  • Go-冒泡排序
    packagemainimport"fmt"//11,9,2,8,3,7,4,6,5,10//911283746510//921183746510//928113746510//928311746510//9283......
  • Go-堆排序
    packagemainimport"fmt"funcHeapSort(arr[]int)[]int{length:=len(arr)fori:=0;i<length;i++{lastmesslen:=length-i//......
  • express的安装,使用,请求,自动更新,静态资源托管(一)
    1.打开编辑器vscode2.安装express  [email protected].创建文件index.js4.导入express  constexpress=require('express')5.创建web服务器  con......
  • API请求JSON特殊处理
    API请求JSON特殊处理场景框架处理的请求和返回的转换后的string,有时候不是我们预期的样子。可以使用JsonSerializerOptions.Converters.Insert()添加一个自定义的转换......
  • Go--并发编程
    摘抄(有删改):https://www.topgoer.cn/docs/golang/chapter09-1一、并发介绍1.1进程和线程进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位......