go语言的http post推送

这篇具有很好参考价值的文章主要介绍了go语言的http post推送。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

go语言的网络功能比较强大,使用go语言实现http 协议的推送非常简单,这里做了个简单的post推送示例。

代码

package main
 
import (
    "bytes"
    "fmt"
    "io/ioutil"
	"crypto/tls"
    "net/http"
	 "flag"  
)
 
type Data struct {
    Name string `json:"name"`
}
 
func main() {
    // JSON数据
    var payloadBytes string;
	
	var  url string
	
    flag.StringVar(&payloadBytes, "c", "", "内容")
    flag.StringVar(&url, "d", "", "url")
	flag.Parse()
	
	

	//fmt.Println(payloadBytes)
	
	bytestr := []byte(payloadBytes)
	
	//在认证的时候,忽略证书校验,
	tr := &http.Transport{
        TLSClientConfig:    &tls.Config{InsecureSkipVerify: true},
    }
	
    // HTTP POST请求
    req, err := http.NewRequest("POST", url, bytes.NewBuffer(bytestr))
    if err != nil {
        panic(err)
    }
 
    // 设置Content-Type头部信息
    req.Header.Set("Content-Type", "application/json")
 
    // 创建客户端并发送请求
    client := &http.Client{Transport: tr}
    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()
 
    // 获取响应结果
    body, _ := ioutil.ReadAll(resp.Body)
    responseString := string(body)
 
    // 输出响应结果
    fmt.Println(responseString)
}

测试运行:

go run main.go -d http://192.168.1.168/cgi-bin/file/post -c "{\"test\": 1}"
{"code": "200"}  --收到的应答消息

//服务端接收的信息:
method: POST
data: {"test": 1}

总结

以上代码里,使用flag来获取命令行传递的入参。

在认证的时候,忽略服务端证书校验,

	tr := &http.Transport{
        TLSClientConfig:    &tls.Config{InsecureSkipVerify: true},
    }  

这里如果不忽略,可能会报如下错误:文章来源地址https://www.toymoban.com/news/detail-785833.html

x509: certificate signed by unknown authority

到了这里,关于go语言的http post推送的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用Go发送HTTP POST请求

    在Go语言中,我们可以使用 net/http 包来发送HTTP POST请求。以下是一个简单的示例,展示了如何使用Go发送HTTP POST请求并获取响应。 go 复制代码 package  main import  ( \\\"bytes\\\"   \\\"fmt\\\"   \\\"io/ioutil\\\"   \\\"net/http\\\"   ) func   main ()  { // 创建一个HTTP客户端 client := http.Client{} // 创建一个POST请求

    2024年01月23日
    浏览(45)
  • 由浅入深C系列五:使用libcurl进行基于http get/post模式的C语言交互应用开发

    大多数在linux下的开发者,都会用到curl这个命令行工具。对于进行restful api的测试等,非常方便。其实,这个工具还提供了一个C的开发库,可以很方便的在C语言开发环境下完成基于http的请求和响应交互,高效的开发基于http/smtp等的网络应用程序 下载并安装curl的开发包 开发

    2024年02月13日
    浏览(46)
  • 【Golang 接口自动化02】使用标准库net/http发送Post请求

    目录 写在前面 发送Post请求 示例代码 源码分析 Post请求参数解析 响应数据解析 验证 发送Json/XMl Json请求示例代码 xml请求示例代码 总结 资料获取方法 上一篇我们介绍了使用  net/http  发送get请求,因为考虑到篇幅问题,把Post单独拎了出来,我们在这一篇一起从源码来了解一

    2024年02月14日
    浏览(60)
  • 【二、http】go的http基本请求设置(设置查询参数、定制请求头)get和post类似

    结果: 结果: 可以看到其中头部信息已经打印出自己增加的部分内容

    2024年02月05日
    浏览(53)
  • Go For Web:Golang http 包详解(源码剖析)

    本文作为解决如何通过 Golang 来编写 Web 应用这个问题的前瞻,对 Golang 中的 Web 基础部分进行一个简单的介绍。目前 Go 拥有成熟的 Http 处理包,所以我们去编写一个做任何事情的动态 Web 程序应该是很轻松的,接下来我们就去学习了解一些关于 Web 的相关基础,了解一些概念,

    2023年04月14日
    浏览(34)
  • Golang:Go语言结构

    在我们开始学习 Go 编程语言的基础构建模块前,让我们先来了解 Go 语言最简单程序的结构。 Go 语言的基础组成有以下几个部分: 包声明 引入包 函数 变量 语句 表达式 注释 接下来让我们来看下简单的代码,该代码输出了\\\"Hello World!\\\": 让我们来看下以上程序的各个部分: 第一

    2024年02月10日
    浏览(58)
  • Go语言(Golang)数据库编程

    要想连接到 SQL 数据库,首先需要加载目标数据库的驱动,驱动里面包含着于该数据库交互的逻辑。 sql.Open() 数据库驱动的名称 数据源名称 得到一个指向 sql.DB 这个 struct 的指针 sql.DB 是用来操作数据库的,它代表了0个或者多个底层连接的池,这些连接由sql 包来维护,sql 包会

    2024年02月03日
    浏览(88)
  • 【GoLang】MAC安装Go语言环境

    小试牛刀 首先安装VScode软件 或者pycharm mac安装brew软件  brew install go 报了一个错误 不提供这个支持  重新brew install go 之后又重新brew reinstall go 使用go version 可以看到go 的版本 使用go env  可以看到go安装后的配置 配置一个环境变量 vim ~/.zshrc,  

    2024年02月15日
    浏览(57)
  • 【Golang】VScode配置Go语言环境

    安装VScode请参考我的上一篇博客:VScode安装_㫪548的博客-CSDN博客 接下来我们直接进入正题: Go语言(又称Golang)是一种开源的编程语言,由Google开发并于2009年首次发布。Go语言具有简洁、高效、可靠和易于阅读的特点,被设计用于解决大型项目的开发需求。它结合了静态类型

    2024年02月03日
    浏览(65)
  • 【Golang】Golang进阶系列教程--Go 语言数组和切片的区别

    在 Go 语言中,数组和切片看起来很像,但其实它们又有很多的不同之处,这篇文章就来说说它们到底有哪些不同。 数组和切片是两个常用的数据结构。它们都可以用于存储一组相同类型的元素,但在底层实现和使用方式上存在一些重要的区别。 Go 中数组的长度是不可改变的

    2024年02月15日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包