使用go向mojang API发出请求会得到403
我对golang非常陌生,但我正在尝试向mojang api发出http GET请求,以获取玩家名称的UUID。这是我的密码使用go向mojang API发出请求会得到403,go,Go,我对golang非常陌生,但我正在尝试向mojang api发出http GET请求,以获取玩家名称的UUID。这是我的密码 func getHTTP(url字符串)(响应字符串){ 客户端:=&http.client{} req,err:=http.NewRequest(“GET”,url,nil) req.Header.Add(“内容类型”、“应用程序/json”) 如果错误!=零{ 返回字符串(err.Error()) } resp,err:=client.Do(请求) 如果错误!=零{
func getHTTP(url字符串)(响应字符串){
客户端:=&http.client{}
req,err:=http.NewRequest(“GET”,url,nil)
req.Header.Add(“内容类型”、“应用程序/json”)
如果错误!=零{
返回字符串(err.Error())
}
resp,err:=client.Do(请求)
如果错误!=零{
返回字符串(err.Error())
}
延迟响应主体关闭()
body,e:=ioutil.ReadAll(分别为body)
如果错误!=零{
返回字符串(如Error())
}
返回字符串(正文)
}
func main(){
fmt.Printf(getHTTP(“https://api.mojang.com/users/profiles/minecraft/paultje52"))
}
我得到的是一个带有403错误(请求被阻止)的html文档,如您所见
错误:无法满足请求
403错误
这项要求未能得到满足。
请求被阻止。
目前无法连接到此应用或网站的服务器。可能存在过多流量或配置错误。请稍后重试,或与应用程序或网站所有者联系。
如果您通过CloudFront向客户提供内容,您可以通过查看CloudFront文档找到故障排除步骤并帮助防止此错误。
是我做错了什么,还是这是围棋的问题?或者阻止go发出的CloudFront请求?看起来该网站阻止了默认用户代理。
使用下面的行进行更改,一切都会正常工作
req.Header.Set("User-Agent", "test")
为什么要添加内容类型?
req.Header.Set("User-Agent", "test")