1 回答

TA貢獻1862條經驗 獲得超7個贊
因此,elastic.co 可能正在檢查用戶代理以阻止抓取程序抓取他們的網站。一旦沒有用戶代理標頭或標頭暗示您正在自動執行流量,他們的機器人檢測系統就會啟動,您將獲得503。在您的代碼下方,使用 Firefox 用戶代理的示例。一旦你運行它,你會得到像卷曲一樣的身體。
package main
import (
"fmt"
"io/ioutil"
"log"
"net/http"
)
func main() {
url := "https://elastic.co/downloads/elasticsearch,"
data := DownloadData(url)
fmt.Println(data)
}
func DownloadData(url string) string {
client := &http.Client{}
request, err := http.NewRequest("GET", url, nil)
if err != nil {
log.Fatalln(err)
}
request.Header.Set("User-Agent", "Mozilla/5.0 (Windows NT x.y; rv:10.0) Gecko/20100101 Firefox/10.0")
response, err := client.Do(request)
if err != nil {
log.Fatal(err)
}
defer response.Body.Close()
data, err := ioutil.ReadAll(response.Body)
if err != nil {
log.Fatal(err)
}
dir := string(data)
return dir
}
- 1 回答
- 0 關注
- 181 瀏覽
添加回答
舉報