首页 > 解决方案 > 向 Https 站点发送请求

问题描述

本质上,通过 goLang 我试图在 https 站点上发送请求以检查站点上是否存在项目。我试图尝试向主站点发出请求,但一直被拒绝访问,需要一种方法来解决这个问题,我试图从正文中获取信息以将其分开并找到正确的 ID 以检查是否有东西网站。

package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {

   url := "https://www.jdsports.co.uk/"

   req, _ := http.NewRequest("GET", url, nil)

   res, _ := http.DefaultClient.Do(req)

   defer res.Body.Close()

   body, _ := ioutil.ReadAll(res.Body)

   fmt.Println(string(body)) 
}

标签: gohttpsget

解决方案


稍作测试后,该特定网站似乎正在使用 Akamai Ghost,并且已配置为阻止默认的 go http 包用户代理。

默认用户代理似乎是Go-http-client/1.1

如果您更改用户代理

req.Header.Set("User-Agent", "my-client-app")

该请求将起作用。但是,有问题的网站似乎不希望以编程方式被抓取。也许你应该尊重他们的意愿。


推荐阅读