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 关注
- 198 浏览
添加回答
举报
