当前位置: 首页 > 面试题库 >

如何在http.Request中获取URL

常雅珺
2023-03-14
问题内容

我建立了一个HTTP服务器。我正在使用下面的代码来获取请求URL,但未获取完整URL。

func Handler(w http.ResponseWriter, r *http.Request) {  
    fmt.Printf("Req: %s %s", r.URL.Host, r.URL.Path)
}

我只得到"Req: / ""Req: /favicon.ico"

我想获得完整的客户端请求的URL作为"1.2.3.4/""1.2.3.4/favicon.ico"

谢谢。


问题答案:

从net / http包的文档中:

type Request struct {
   ...
   // The host on which the URL is sought.
   // Per RFC 2616, this is either the value of the Host: header
   // or the host name given in the URL itself.
   // It may be of the form "host:port".
   Host string
   ...
}

您的代码的修改后的版本:

func Handler(w http.ResponseWriter, r *http.Request) {
    fmt.Printf("Req: %s %s\n", r.Host, r.URL.Path) 
}

输出示例:

Req: localhost:8888 /


 类似资料:
  • 问题内容: 我想从https请求中检索二进制数据。 我发现了一个使用请求方法的 类似问题 ,即使用request 在Node.js中获取二进制内容,是说将 编码 设置为 null 应该可以,但是不能。 编辑:将编码设置为 “二进制” 也不起作用 问题答案: 接受的答案对我不起作用(即,将编码设置为二进制),即使是询问该问题的用户提到它也不起作用。 这是对我有用的东西,摘自:http : //cha

  • 问题内容: 我试图使用。通过Node.js向Web服务提交xml请求。 这是我的代码。我的问题是,而不是我想将xml发布到服务。 何去做? 问题答案: 返回ClientRequest对象,该对象也是可写流。代替做或

  • 问题内容: 我正在使用Go开发REST API,但是我不知道如何执行路径映射并从中检索路径参数。 我想要这样的东西: 如果可能的话,我想只使用包而不是Web框架。 谢谢。 问题答案: 如果您不想使用任何可用的路由包,则需要自己解析路径: 将/ provisions路径路由到您的处理程序 然后根据需要在处理程序中拆分路径

  • 问题内容: 我正在尝试在使用http.request且没有运气的HTTP客户端上设置超时。到目前为止,我所做的是: 有什么提示吗? 问题答案: 现在可以使用option和相应的request事件:

  • 问题内容: 在Objective-C中,我用于获取父URL。在Java中这相当于什么? 问题答案: 我能想到的最短的代码段是这样的:

  • 在Objective-C中,我使用获取父URL。这在Java中的等价物是什么?