好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > golang的HTTP基本認證機制實例詳解

golang的HTTP基本認證機制實例詳解

熱門標簽:騰訊外呼系統價格 ?兓? 成都呼叫中心外呼系統平臺 谷歌便利店地圖標注 電銷機器人可以補救房產中介嗎 電梯外呼訪客系統 浙江人工智能外呼管理系統 最短的地圖標注 百度地圖標注搜索關鍵詞

本文實例講述了golang的HTTP基本認證機制。分享給大家供大家參考,具體如下:

看了http權威指南>>第12章HTTP基本認證機制(本站下載地址:https://www.jb51.net/books/93254.html),感覺講的蠻詳細的,寫了一個小小例子測試.

請求響應過程:

復制代碼 代碼如下:
==>
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)
    }
}

希望本文所述對大家Go語言程序設計有所幫助。

您可能感興趣的文章:
  • golang實現http服務器處理靜態文件示例
  • 淺談golang的http cookie用法
  • golang編程入門之http請求天氣實例
  • golang設置http response響應頭與填坑記錄
  • Go語言通過http抓取網頁的方法
  • go語言實現一個最簡單的http文件服務器實例
  • Go語言中利用http發起Get和Post請求的方法示例
  • go語言實現簡單http服務的方法
  • Go語言的http/2服務器功能及客戶端使用

標簽:宜昌 眉山 盤錦 紹興 邢臺 雅安 上海 七臺河

巨人網絡通訊聲明:本文標題《golang的HTTP基本認證機制實例詳解》,本文關鍵詞  golang,的,HTTP,基本,認證,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《golang的HTTP基本認證機制實例詳解》相關的同類信息!
  • 本頁收集關于golang的HTTP基本認證機制實例詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 永久在线观看免费视频| 免费无码婬片AAAA片软件下| 精品国产一级久久A片性教育片| 天使萌痴汉在线中文字幕| 国产成人免费爽爽爽视频| 性a欧美片| 熟女?人妻五十路XXX香蕉| 日韩精品a?V人妻无码免费 | 娇妻张妍的交换高潮| 色情一级A片成人片| 被男同桌掀裙子扒内裤摸屁股| 最近中文高清MV免费版| 亚人成色777777在线观看| 国产精品高潮露脸在线观看| 99热精品久久| 偷窥自拍10p| 欧美虐Sm另类残忍视频| 亚洲欧美国产另类在线| 看女人的逼逼| 日麻批的视频| 老师的兔子好软水好多免费的视频| 女人18毛片一集片| 91精品国产亚洲Av高清小黄文 | 波多野吉衣33分办公室钟无码| 97免费观看视频网站在线观看国产| 男人下身进女人阳道视频| 中文日产幕无线码一二| 啊啊啊嗯嗯不要| 欧美一级特黄A片免费观看密森| 啊轻点灬公大JI巴又大又长啊| 欧洲最强rapper潮水图片| 国产午夜精品久久久久免费视| 国产精品99久久久久久精品玩具| 直男被室友cao到哭高H | 亚洲欧美美洲无码精品Ⅴa| 国产丰满麻豆sexvideos| 一级黄色网片| 老鸦窝在线视频2021| 五杀影院在线免费观看| 女子被狂揉下部?羞羞图片| 爽?好舒?高Hnp男同bl|