当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


GO Get用法及代码示例


GO语言"net/http"包中"Get"函数的用法及代码示例。

用法:

func Get(url string)(resp *Response, err error)

Get 向指定的 URL 发出 GET。如果响应是以下重定向代码之一,则 Get 跟随重定向,最多 10 个重定向:

301 (Moved Permanently)
302 (Found)
303 (See Other)
307 (Temporary Redirect)
308 (Permanent Redirect)

如果重定向过多或存在 HTTP 协议错误,则会返回错误。非 2xx 响应不会导致错误。任何返回的错误都是 *url.Error 类型。如果请求超时,url.Error 值的 Timeout 方法将报告 true。

当 err 为 nil 时,resp 总是包含一个非 nil 的 resp.Body。调用者在完成读取后应关闭 resp.Body。

Get 是DefaultClient Get 的包装。

要使用自定义标头发出请求,请使用 NewRequest 和 DefaultClient 做。

要使用指定的 context.Context 发出请求,请使用 NewRequestWithContext 和 DefaultClient 做。

例子:

package main

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

func main() {
	res, err := http.Get("http://www.google.com/robots.txt")
	if err != nil {
		log.Fatal(err)
	}
	body, err := io.ReadAll(res.Body)
	res.Body.Close()
	if res.StatusCode > 299 {
		log.Fatalf("Response failed with status code: %d and\nbody: %s\n", res.StatusCode, body)
	}
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("%s", body)
}

相关用法


注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 Get。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。