go语言实现https的简单get和post请求

package main

import (
    "crypto/tls"
    "fmt"
    "io"
    "io/ioutil"
    "net/http"
)

func main(){
    GetData()
    PostMethod()
    }

//这是get请求
func GetData(){
    tr := &http.Transport{
        TLSClientConfig:    &tls.Config{InsecureSkipVerify: true}, }  //如果需要测试自签名的证书 这里需要设置跳过证书检测 否则编译报错
    client := &http.Client{Transport: tr}
    resp, err := client.Get("https://192.168.7.15:8080/v1/getaction.do")

    if err != nil {
        fmt.Println("error:", err)
        return
    }
    defer resp.Body.Close()
    body, err := ioutil.ReadAll(resp.Body)
    fmt.Println(string(body))
}



//这是post请求
func PostMethod(){
    var rsp io.Reader
    tr:=&http.Transport{TLSClientConfig:&tls.Config{InsecureSkipVerify:true},}   //如果需要测试自签名的证书 这里需要设置跳过证书检测 否则编译报错
    client:=&http.Client{Transport:tr}
    data:="cmd=123"
    resp,err:=client.Post("https://192.168.7.15:8080/v1/postaction.do",data,rsp)
    if err != nil {
        fmt.Println("err:",err)
    }else {
        defer resp.Body.Close()
        body,er:=ioutil.ReadAll(resp.Body)
        if er != nil {
            fmt.Println("err:",er)
        }else {
            fmt.Println(string(body))
        }
    }


}

 

posted @ 2019-04-08 13:32  r00t_exp  阅读(713)  评论(0编辑  收藏  举报