google.golang.org/appengine/urlfetch 包 (v1.6.8)

urlfetch 软件包提供了一个 http.RoundTripper 实现,用于通过 App Engine 的 urlfetch 服务来提取网址。

变量

ErrTruncatedBody

var ErrTruncatedBody = errors.New("urlfetch: truncated body")

当响应的主体被 App Engine 代理截断时,对该响应主体的最终 Read() 调用会返回 ErrTruncatedBody 错误。

函数

func Client

func Client(ctx context.Context) *http.Client

Client 使用默认 urlfetch Transport 返回 *http.Client。此客户端会检查 SSL 证书的有效性。

所提供上下文的任何期限用于此客户端处理的请求。如果客户端没有期限,则系统会使用 App Engine 默认值 60 秒。

传输

type Transport struct {
	Context context.Context

	// Controls whether the application checks the validity of SSL certificates
	// over HTTPS connections. A value of false (the default) instructs the
	// application to send a request to the server only if the certificate is
	// valid and signed by a trusted certificate authority (CA), and also
	// includes a hostname that matches the certificate. A value of true
	// instructs the application to perform no certificate validation.
	AllowInvalidServerCertificate bool
}

Transport 是 App Engine 的 http.RoundTripper 的实现。用户通常应使用此传输和客户端而不是直接使用此传输创建 http.Client。

func (*Transport) RoundTrip

func (t *Transport) RoundTrip(req *http.Request) (res *http.Response, err error)

RoundTrip 发出单个 HTTP 请求并返回其响应。对于每个 http.RoundTripper 接口,RoundTrip 仅在收到不受支持的请求或 URL Fetch 代理失败时返回错误。请注意,从传输的角度看,5xx、403、404 等 HTTP 响应代码不属于错误,它们会在返回时将 err 设置为 nil。