老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

golang中怎么實現HTTP認證機制

這篇文章給大家介紹golang中怎么實現HTTP認證機制,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

成都創新互聯是一家以網站建設公司、網頁設計、品牌設計、軟件運維、網站推廣、小程序App開發等移動開發為一體互聯網公司。已累計為火鍋店設計等眾行業中小客戶提供優質的互聯網建站和軟件開發服務。

請求響應過程:

復制代碼 代碼如下:

==>
GET /hello HTTP/1.1
Host: 127.0.0.1:12345
<==
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="Dotcoo User Login"
==>
GET /hello HTTP/1.1
Host: 127.0.0.1:12345
Authorization: Basic YWRtaW46YWRtaW5wd2Q=
<==
HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8

golang HTTP基本認證機制的實現

復制代碼 代碼如下:

package main
import (
    "fmt"
    "io"
    "net/http"
    "log"
    "encoding/base64"
    "strings"
)
// hello world, the web server
func HelloServer(w http.ResponseWriter, req *http.Request) {
    auth := req.Header.Get("Authorization")
    if auth == "" {
        w.Header().Set("WWW-Authenticate", `Basic realm="Dotcoo User Login"`)
        w.WriteHeader(http.StatusUnauthorized)
        return
    }
    fmt.Println(auth)
    auths := strings.SplitN(auth, " ", 2)
    if len(auths) != 2 {
        fmt.Println("error")
        return
    }
    authMethod := auths[0]
    authB64 := auths[1]
    switch authMethod {
    case "Basic":
        authstr, err := base64.StdEncoding.DecodeString(authB64)
        if err != nil {
            fmt.Println(err)
            io.WriteString(w, "Unauthorized!\n")
            return
        }
        fmt.Println(string(authstr))
        userPwd := strings.SplitN(string(authstr), ":", 2)
        if len(userPwd) != 2 {
            fmt.Println("error")
            return
        }
        username := userPwd[0]
        password := userPwd[1]
        fmt.Println("Username:", username)
        fmt.Println("Password:", password)
        fmt.Println()
    default:
        fmt.Println("error")
        return
    }
    io.WriteString(w, "hello, world!\n")
}
func main() {
    http.HandleFunc("/hello", HelloServer)
    err := http.ListenAndServe(":12345", nil)
    if err != nil {
        log.Fatal("ListenAndServe: ", err)
    }
}

關于golang中怎么實現HTTP認證機制就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


網頁題目:golang中怎么實現HTTP認證機制
網站鏈接:http://www.xueling.net.cn/article/pggdse.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 一级爽片| 国产精品色网 | 91久操| 亚洲AV久久久噜噜噜赌场 | 亚洲日本精品国产第一区 | 妖精视频一区二区 | 在线播放亚洲 | 米奇狠狠鲁 | 国产精品丝袜黑色高跟鞋 | 第一福利在线导航 | 亚洲国产成人久久综合一区77 | 日日噜噜夜夜狠狠VA视频 | 精品深夜AV无码一区二区 | av熟女人妻一级毛片 | 日韩午夜在线观看 | 亚洲精品456在线播放狼人 | 粉嫩精品av久久久久久久 | 精品国产乱码久久久久久a丨 | 久久国产亚洲婷婷六月丁香 | 韩国专线一区二三区 | 变态一区二区 | 荫蒂每天被三个男人添视频 | 精品国产一区二区三区四区在线 | 另类校园春色小说综合网 | 国产精品国产三级国产AV麻豆 | 毛豆日产精品卡2卡3卡4卡免费 | 8k8k成人网 | 久久久久久久久中文字幕 | 亚洲va天堂va国产va久 | 十八女毛片 | 久久精品视频免费 | 综合国产精品 | 日本不卡一二区 | 国产在线观看高清你懂的 | 天堂亚洲欧美在线中文 | 91视频三区| 亚洲欲妇 | 欧美日韩高清一区二区三区 | 国产成人影院 | 中文字幕无码免费久久91 | 国产精品一区二区69 |