golang 发送post请求 其body中json对象使用变量作为value
2021-01-14 17:44
1196 查看
话不多说直接上代码
package main //导入需要的包 import ( "errors" "fmt" "io/ioutil" "net" "net/http" "os" "strings" ) //获取本地机器ip列表 func externalIP() (net.IP, error) { ifaces, err := net.Interfaces() if err != nil { return nil, err } for _, iface := range ifaces { if iface.Flags&net.FlagUp == 0 { continue // interface down } if iface.Flags&net.FlagLoopback != 0 { continue // loopback interface } addrs, err := iface.Addrs() if err != nil { return nil, err } for _, addr := range addrs { ip := getIpFromAddr(addr) if ip == nil { continue } return ip, nil } } return nil, errors.New("connected to the network?") } //从本地机器ip列表中找到真实ip func getIpFromAddr(addr net.Addr) net.IP { var ip net.IP switch v := addr.(type) { case *net.IPNet: ip = v.IP case *net.IPAddr: ip = v.IP } if ip == nil || ip.IsLoopback() { return nil } ip = ip.To4() if ip == nil { return nil // not an ipv4 address } return ip } //获取本机名称 func getHostname() string{ name, err := os.Hostname() if err != nil { panic(err) } return name //fmt.Println("hostname:", name) } //发送一个post请求,传递含有变量的json数据 func httpPostJson(getip string , gethostname string) { url := "https://myurl" method := "POST" payload := strings.NewReader("{\"hostName\": \""+gethostname+"\",\"ip\": \""+getip+"\"}") client := &http.Client { } req, err := http.NewRequest(method, url, payload) 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)) } func main() { ip, err := externalIP() if err != nil { fmt.Println(err) } fmt.Println("本机ip:",ip.String()) //把ip和hostnmae赋值给新的变量 getip := ip.String() gethostname := getHostname() httpPostJson(getip , gethostname) }
相关文章推荐
- PHP使用Http Post请求发送Json对象数据代码解析
- Volley使用JsonObjectRequest发送Post请求失败
- PHP 使用curl库来发送GET,POST请求,处理json格式数据
- PHP如何通过Http Post请求发送Json对象数据?
- C/C++使用libcurl库发送http请求(get和post可以用于请求html信息,也可以请求xml和json等串)
- Objective-C-使用NSMutableURLRequest发送POST请求,使用NSJSONSerialization解析JSON字符串
- PHP通过Http Post请求发送Json对象数据?
- PHP如何通过Http Post请求发送Json对象数据?
- json对象,使用 “ . ”获取值是,不能使用变量作为属性名。
- Android使用HttpClient以Post、Get请求服务器发送数据的方式(普通和json)
- 对接第三方接口--使用post请求发送json数据
- C/C++使用libcurl库发送http请求(get和post可以用于请求html信息,也可以请求xml和json等串)
- 【学习笔记】ApiPost如何使用另一个接口的返回参数作为当前接口的Token发送Post请求
- 使用HttpClient发送post请求时传递json格式的参数
- [SoapUI] 通过SoapUI发送POST请求,请求的body是JSON格式的数据
- 使用apache的httpclient发送post请求传送和解析json
- HttpURLConnection 发送post请求。并将结果以JSONObject对象返回的轮子
- 如何使用webmagic发送post请求,并解析传回的JSON
- 使用Fiddler工具发送post请求(带有json数据)以及get请求(Header方式传参)
- Android网络框架-Volley(四) 使用get和post方法发送json请求