2016-07-28 32 views
-3

如何使用Golang的網絡/ http的http.Get(url string)但阻止某些url和請求中的資源?Golang http.Get塊資源

例如

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

http.Get函數僅獲取一個資源。在https:// google.com /'的情況下,CSS在頁面上內聯。它不在單獨的資源或文件中。 –

回答

1

你不需要封鎖網址和資源,因爲網/ HTTP Get()不會自動執行包括鏈接或資源的抓取。

您可能會將其與瀏覽器讀取URL的方式混淆。一個瀏覽器會發出一個請求,然後跟進獲取所有資源(Javascript/CSS /圖像/視頻等),但Go的net/http請求的水平要低得多 - 它更像curl fetch - 默認情況下會遵循重定向,否則它只會獲取對GET請求的單個響應。您可以將發出調用`http.Get(「https://google.com」)的結果想象爲與您在瀏覽器中看到的頁面源(加上HTTP標頭和響應代碼)類似的結果。這個響應可能會包含許多鏈接和資源的URL--如果你願意的話,你可以將它們解析出來並請求其中的一部分或全部(忽略你想要「阻止」的內容),比如低級Web爬蟲做的。