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

在Go中使用http包时如何检索最终的URL目标?

弘焕
2023-03-14
问题内容

在请求期间,大多数站点都重定向到另一个URL。例如:http://example.com might可能重定向到http://mobile.example.com

有没有办法找回最终目的地?如果发生cURL这种情况,他们称之为effective URL


问题答案:

例如,

package main

import (
    "fmt"
    "net/http"
)

func main() {
    getURL := "http://pkgdoc.org/"
    fmt.Println("getURL:", getURL)
    resp, err := http.Get(getURL)
    if err != nil {
        fmt.Println(err)
        return
    }
    finalURL := resp.Request.URL.String()
    fmt.Println("finalURL:", finalURL)
}

输出:

getURL: http://pkgdoc.org/
finalURL: http://godoc.org/


 类似资料:
  • 问题内容: 我正在使用该方法打开URL并获取网页的标记。其中一些网站使用301/302重定向将我重定向。我想知道我已重定向到的最终URL。我怎么能得到这个? 问题答案: 调用返回的文件对象的方法。根据文档: —返回所获取资源的URL,通常用于确定是否遵循了重定向 例:

  • 问题内容: 我想使用HTTP GET和POST命令从网站检索URL并解析HTML。我该怎么做呢? 问题答案: 您可以将HttpURLConnection与URL结合使用。

  • 问题内容: 我想做的是 找出重定向之后的最后一个/最终URL是什么 。 我不希望使用cURL。 我想坚持使用纯PHP(流包装器)。 现在,我有一个URL(比如说http://domain.test),并且我使用get_headers()从该页面获取特定的标题。get_headers也将返回多个标题(请参见下面的 Edit )。有没有办法使用这些标头来构建最终URL?还是有一个PHP函数可以自动执行

  • 问题内容: 我从来没有适当地理解finally语句的用法。谁能告诉我有什么区别: 一方面并: 在另一 问题答案: 他们不同,如​​果 在-块完成了由投掷不是一个,例如,因为它是一个如或。 在try块突然结束使用流程控制语句这样的,或 catch块突然完成(通过抛出任何throwable或使用控制流语句) 更一般而言,Java语言保证在try语句完成之前执行finally块。(请注意,如果try语句

  • 我在一个maven项目中使用了mockito-core-2.7.21,它正按预期工作。 但是为了启用对final类的模拟,我在源文件夹下创建了一个文件并添加了文本。 按照https://www.baeldung.com/mockito-final以及Mock final class with mockito2,它应该允许我模拟final class,但当我运行junit测试时,我得到以下错误: J

  • 问题内容: 我需要从服务器发送的HTTP响应中获取cookie,并将其放在下一个请求的标头中。我该怎么做? 提前致谢。 问题答案: 您应该将cookielib模块与urllib一起使用。 它将在请求之间存储cookie,您可以将它们加载/保存在磁盘上。这是一个例子: 请注意,请求之间的和值相同。如果省略,则它们将有所不同(urllib2不会在第二个请求上发送标头)。