91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用golang怎么獲取URL

發布時間:2020-10-22 17:21:21 來源:億速云 閱讀:2234 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關使用golang怎么獲取URL,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

在golang中的http.Request對象中的所有屬性,沒有可以直接獲取完整URL的方法。但可以通過host和請求地址進行拼接。具體方法是在Request.Host中獲取hostname,Request.RequestURI獲取相應的請求地址。

對于協議的判斷,如區分http還是https協議,一開始嘗試通過r.Proto屬性判斷,但是發現該屬性不管是http,還是https都是返回HTTP/1.1,又尋找了下發現TLS屬性,在https協議下有對應值,在http下為nil。
主要技術點:
1.通過r.TLS是否為nil判斷scheme是http或https:
r.TLS == nil ---> http
r.TLS != nil ---> https
2.通過r.Proto獲取http版本號,例如:HTTP/1.1
3.通過r.Host獲取地址及端口號,例如:localhost:9090或127.0.0.1:8000
4.通過r.RequestURI獲取目錄及參數,例如:/index?id=2

完整代碼:

package main


import (

    "fmt"

    "log"

    "net/http"

    "strings"

)


func index(w http.ResponseWriter, r *http.Request) {

    fmt.Println("--------------------")

    fmt.Println(r.Proto)

    // output:HTTP/1.1

    fmt.Println(r.TLS)

    // output:

    fmt.Println(r.Host)

    // output: localhost:9090

    fmt.Println(r.RequestURI)

    // output: /index?id=1


    scheme := "http://"

    if r.TLS != nil {

        scheme = "https://"

    }

    fmt.Println(strings.Join([]string{scheme, r.Host, r.RequestURI}, ""))

    // output: http://localhost:9090/index?id=1

}


func GetURL(r *http.Request)(Url string) {

    scheme := "http://"

    if r.TLS != nil {

        scheme = "https://"

    }

    return strings.Join([]string{scheme, r.Host, r.RequestURI}, "")

}


func main() {

    http.HandleFunc("/index", index)


    err := http.ListenAndServe(":9090", nil)

    if err != nil {

        log.Fatal("ListenAndServe: ", err)

    }

}

看完上述內容,你們對使用golang怎么獲取URL有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

韶关市| 玉田县| 漳州市| 张家口市| 阜新市| 塘沽区| 南开区| 永平县| 利津县| 通辽市| 白沙| 大足县| 兴国县| 长岭县| 呼和浩特市| 尖扎县| 京山县| 特克斯县| 洛阳市| 循化| 江源县| 广水市| 肃宁县| 体育| 鸡东县| 德州市| 招远市| 桐庐县| 宜宾市| 哈巴河县| 台东县| 宜良县| 两当县| 永登县| 修文县| 广水市| 房产| 宜州市| 蚌埠市| 临汾市| 重庆市|