1 回答

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超7個(gè)贊
因此,elastic.co 可能正在檢查用戶代理以阻止抓取程序抓取他們的網(wǎng)站。一旦沒(méi)有用戶代理標(biāo)頭或標(biāo)頭暗示您正在自動(dòng)執(zhí)行流量,他們的機(jī)器人檢測(cè)系統(tǒng)就會(huì)啟動(dòng),您將獲得503。在您的代碼下方,使用 Firefox 用戶代理的示例。一旦你運(yùn)行它,你會(huì)得到像卷曲一樣的身體。
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 關(guān)注
- 165 瀏覽
添加回答
舉報(bào)