Golang http.Get 块资源

Golang http.Get block resources

如何使用 Golang 的 net/http 的 http.Get(url string) 但阻止某些 url 的请求和资源?

例如

http.Get("https://google.com") // But somehow block the main CSS file.

您不需要阻止 URL 和资源,因为 net/http Get() 不会自动执行对包含的链接或资源的提取。

您可能将它与浏览器获取 URL 的方式混淆了。浏览器将发出请求,然后跟进获取所有资源(Javascript/CSS/images/videos 等)但是 Go 的 net/http 请求级别要低得多 - 它更像是 curl fetch - 默认情况下它将遵循重定向,否则它只会获取对 GET 请求的单个响应。您可以认为发出调用 `http.Get("https://google.com") 的结果类似于您在浏览器中看到的页面源(加上 HTTP headers 和响应代码).此响应可能包含许多其他 URL 链接和资源 - 如果您愿意,您可以将它们解析出来并请求其中的部分或全部(省略您想要 "block" ),就像 low-level 网络爬虫一样。