【go标准库系列】go语言模拟curl将json发送到httpserver

业务背景

最近一个需求:需要将某些数据塞到数据。如果会ui,搞个前后端分离,这个需求很简单。

不过我的前端技术实在拿不出手。而我又想固化成程序(造轮子、实现curl命令的部分功能)。

不说了,只能直接上源码。

package main

import (
"fmt"
"os"
"strings"
"net/http"
"io/ioutil"
)

func main() {
url := os.Args[1]
method := "POST"

payload ,err:= ioutil.ReadFile("post.json")

client := &http.Client {
}
reqdata:=string(payload)
fmt.Println("request request",reqdata)
req, err := http.NewRequest(method, url, strings.NewReader(reqdata))

if err != nil {
fmt.Println(err)
}
req.Header.Add("Content-Type", "application/json")

res, err := client.Do(req)
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)

fmt.Println(string(body))
}