在请求期间,大多数站点都重定向到另一个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不会在第二个请求上发送标头)。