golang 實現https請求

首先我們先來創建一個http請求

//http.go

package main

import (
    "fmt"
    "net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w,
     "這個是http請求")
}

func main() {
    http.HandleFunc("/", handler)
    http.ListenAndServe(":8080", nil)
}

執行這段代碼:
$ go run http.go

打開瀏覽器,在地址欄輸入"http://localhost:8080", 你會在此網頁看到 “這個是http請求

接下來就實現一個https請求   

首先需要https請求當然離不開證書吧,我們先自己創建個證書

用openssl生成server.crt和server.key文件,供程序使用

$openssl genrsa -out server.key 2048  (第一個命令)

執行上面命令會得到如下

$openssl req -new -x509 -key server.key -out server.crt -days 365  (第二個命令)

執行上面命令會得到如下

主要我畫紅線的!!!一定要寫上你的url 其他的隨便寫。。。。。。

此時你會得到兩個證書  如下所示

接下來寫代碼了

//https.go

package main

import (
    "fmt"
    "net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w,
        "這是一個https請求")
}

func main() {
    http.HandleFunc("/", handler)
    http.ListenAndServeTLS(":8081", "E:/GoWorkSpace/server.crt",
                           "E:/GoWorkSpace/server.key", nil)
}

路徑哈 一定要填寫好!!!!!!!!

執行程序:go run https.go
通過瀏覽器訪問:https://localhost:8081,chrome瀏覽器會顯示如下畫面:

因爲自己創建的證書會不被信任他就會提示證書風險,所以上線項目去買一個就行一年的不貴,去阿里雲 或者  騰訊雲,,,,,,,

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章