简单的GoLang SSL示例

时间:2014-09-12 11:25:29

标签: ssl go

刚开始使用Python背景。

我需要使用自签名证书与服务器建立SSL(HTTP GET和POST)连接,并忽略(暂时)安全错误。

在Python中这很容易,但我似乎无法找到一个简单的例子。

有人可以提供一个非常简单的例子。

更新:

好的,这就是它的工作原理,只需要弄清楚如何禁用现在的证书检查!

package main

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

func main() {
    response, err := http.Get( "https://golang.com/")
    if err != nil {
        fmt.Printf("%s", err)
        os.Exit(1)
    } else {
        defer response.Body.Close()
        contents, err := ioutil.ReadAll(response.Body)
        if err != nil {
            fmt.Printf("%s", err)
            os.Exit(1)
        }
        fmt.Printf("%s\n", string(contents))
    }
}

1 个答案:

答案 0 :(得分:4)

好的排序,这是我的所作所为:

package main

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

func main() {

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

    client := &http.Client{Transport: tr}

    response, err := client.Get( "https://80.84.50.156/VEDsdk/")
    if err != nil {
        fmt.Printf("%s", err)
        os.Exit(1)
    } else {
        defer response.Body.Close()
        contents, err := ioutil.ReadAll(response.Body)
        if err != nil {
            fmt.Printf("%s", err)
            os.Exit(1)
        }
        fmt.Printf("%s\n", string(contents))
    }
}