GO接收GET/POST参数以及发送GET/POST请求

GO接收GET/POST参数以及发送GET/POST请求

go作为21世纪的新C语言,还是应该学习一下的,本文主要介绍net/http包相关用法

GO发送HTTP请求

发送GET请求

  • 直接放代码
var client = http.Client{
   
	Timeout: 10 * time.Second,
}

func HttpGetRequest(url string, result interface{
   }) error {
   
	resp, err := client.Get(url)
	if err != nil {
   
		return err
	}
	defer resp.Body.Close()

	decoder := json.NewDecoder(resp.Body)
	err = decoder.Decode(&result)

	return err
}
  • get其实可以直接通过自带的http.Get()就可以发送请求,但还是建议用client方法吧
  • Get方式简介:数据通过URL发送,因此无安全性,且传输数据受URL最大长度影响

发送POST请求

  • post分为postfrom和postjson
var client = http.Client{
   
	Timeout: 10 * time.Second,
}

func HttpPostJson(url string, data interface{
   }, result interface{
   }, header map[string]string) error {
   
	buf := bytes.NewBuffer(nil)
	encoder := json.NewEncoder(buf)
	if err := encoder.Encode(data); err != nil {
   
		return err
	}

	request, err := http.NewRequest(http.MethodPost, url, buf)
	if err != nil {
   
		return err
	}

	request.Header.Add("Content-Type", "application/json")
	if header != nil {
   
		for k, v := range header {
   
			request.Header.Add(k, v)
		}
	}

	response, err := client.Do(request)
	if err != nil {
   
		return err
	}
	defer response.Body.Close
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值