gpt4 book ai didi

go - http.Server — 获取 URL 片段

转载 作者:IT王子 更新时间:2023-10-29 01:17:08 25 4
gpt4 key购买 nike

使用标准 http.Server 提取片段数据(foo in http://domain.com/path#foo)没有运气。

package main

import (
"fmt"
"net/http"
)

type Handler struct {
}

func (handler Handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
fmt.Printf("Path = \"%v\" Fragment = \"%v\"\n", r.URL.Path, r.URL.Fragment)
}

func main() {
var handler Handler
http.ListenAndServe(":30000", handler)
}

http://127.0.0.1:30000/path#foo 生成空片段:

路径 = "/path"片段 = ""

如何使用 golang 的内置 http.Server 获取片段数据?

最佳答案

你不能。这不是 Go 语言的事情——URL 片段不会通过 HTTP 发送到服务器。它们只是一个浏览器概念。

这里是 a relevant issue , 其中the docs for http.Request被改为说:

// For server requests the URL is parsed from the URI
// supplied on the Request-Line as stored in RequestURI. For
// most requests, fields other than Path and RawQuery will be
// empty. (See RFC 2616, Section 5.1.2)

如果出于某种原因您需要它,您可能可以将一些 JavaScript 串在一起以将片段作为 GET 参数或其他内容包含在请求中。

关于go - http.Server — 获取 URL 片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25489843/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com