实现。
传递给该函数的地址必需包含端口号。
例如地址值为:
* foobar.baz:443
* foo.bar:80
* aaa.com:8080
func DialDualStack(addr string) (net.Conn, error)
DialDualStack函数使用tcp4或tcp6拨打给定TCP地址。
该函数与net.Dial相比具有以下附加功能:
*利用DefaultDNSCacheDuration缓存解决TCP寻址,降低了DNS解析器负载。
*其会以轮询方式拨打所有已解决的TCP地址直到连接被建立。如果某些地址暂时无法访问,其将会起到作用。
*如果在DefaultDialTimeout秒内连接无法被建立,其将会返回ErrDialTimeout错误。使用DialDualStackTimeout自定义拨号超时。
此拨号器用于在传递给Client.Dial或HostClient.Dial前,包装自定义代码。
例如,每个主机计数器或及其限制可能通过此种包装器实现。
传递给该函数的地址必需包含端口号。
例如地址值为:
* foobar.baz:443
* foo.bar:80
* aaa.com:8080
func DialDualStackTimeout(addr string, timeout time.Duration) (net.Conn, error)
DialDualStackTimeout函数会在给定超时时间内使用tcp4或tcp6拨打给定TCP地址。
该函数与net.Dial相比具有以下附加功能:
*利用DefaultDNSCacheDuration缓存解决TCP寻址,降低了DNS解析器负载。
*其会以轮询方式拨打所有已解决的TCP地址直到连接被建立。如果某些地址暂时无法访问,其将会起到作用。
此拨号器用于在传递给Client.Dial或HostClient.Dial前,包装自定义代码。
例如,每个主机计数器或及其限制可能通过此种包装器实现。
传递给该函数的地址必需包含端口号。
例如地址值为:
* foobar.baz:443
* foo.bar:80
* aaa.com:8080
func DialTimeout(addr string, timeout time.Duration) (net.Conn, error)
DialTimeout函数会在给定超时时间内使用tcp4拨打给定TCP地址。
该函数与net.Dial相比具有以下附加功能:
*利用DefaultDNSCacheDuration缓存解决TCP寻址,降低了DNS解析器负载。
*其会以轮询方式拨打所有已解决的TCP地址直到连接被建立。如果某些地址暂时无法访问,其将会起到作用。
此拨号器用于在传递给Client.Dial或HostClient.Dial前,包装自定义代码。
例如,每个主机计数器或及其限制可能通过此种包装器实现。
传递给该函数的地址必需包含端口号。
例如地址值为:
* foobar.baz:443
* foo.bar:80
func Do(req *Request, resp *Response) error
Do函数用于执行给定HTTP请求,并填充给定HTTP响应。
请求必需是具有完整URL格式(包括scheme及host)且非零的RequestURI,或是非零Host header + RequestURI的形式。
客户端将根据以下规则决定被请求的服务器:
-若RequestURI包含具有scheme及host的完整URL,将由其决定。
-否则由Host header决定。
该函数不遵循重定向。如需重定向,请使用Get*函数。
若resp为nil,则响应将被忽略。
若DefaultMaxConnsPerHost所连接的请求主机当前出于繁忙状态,ErrNoFreeConns将被返回。
建议在对性能要求严格的代码中,通过AcquireRequest和AcquireResponse获取req及resp。
func DoDeadline(req *Request, resp *Response, deadline time.Time) error
DoDeadline函数用于执行给定请求并在规定截止时间deadline前等待响应。
请求必需是具有完整URL格式(包括scheme及host)且非零的RequestURI,或是非零Host header + RequestURI的形式。
客户端将根据以下规则决定被请求的服务器:
-若RequestURI包含具有scheme及host的完整URL,将由其决定。
-否则由Host header决定。
该函数不遵循重定向。如需重定向,请使用Get*函数。
若resp为nil,则响应将被忽略。
若直到给定截止时间deadline响应仍未被返回,则ErrTimeout将被返回。
建议在对性能要求严格的代码中,通过AcquireRequest和AcquireResponse获取req及resp。
func DoTimeout(req *Request, resp *Response, timeout time.Duration) error
DoTimeout函数用于执行给定请求并在给定超时持续时间timeout内等待响应。
请求必需是具有完整URL格式(包括scheme及host)且非零的RequestURI,或是非零Host header + RequestURI的形式。
客户端将根据以下规则决定被请求的服务器:
-若RequestURI包含具有scheme及host的完整URL,将由其决定。
-否则由Host header决定。
该函数不遵循重定向。如需重定向,请使用Get*函数。
若resp为nil,则响应将被忽略。
若直到给定超时时间timeout响应仍未被返回,则ErrTimeout将被返回。
建议在对性能要求严格的代码中,通过AcquireRequest和AcquireResponse获取req及resp。
func EqualBytesStr(b []byte, s string) bool
若string(b)==成立,则EqualBytesStr函数将会返回true。
该函数与string(b)==s相比不具有性能优势。此处保留仅出于向后兼容考虑。
该函数并不推荐使用,未来可能被移除。
func FileLastModified(path string) (time.Time, error)
FileLastModified用于返回最近一次修改文件的时间。
func Get(dst []byte, url string) (statusCode int, body []byte, err error)
Get函数用于附加url字符串内容至dst目的字节切片,并将其返回作为body主体。
该函数跟随重定向。如需手动处理重定向,请使用Do*函数。
若dst目的字节切片为nil,则新body主体缓冲将被分配。
func GetDeadline(dst []byte, url string, deadline time.Time) (statusCode int, body []byte, err error)
GetDeadline函数用于附加url字符串内容至dst目的字节切片中,并将其返回作为body主体。
该函数跟随重定向。如需手动处理重定向,请使用Do*函数。
若dst目的字节切片为nil,则新body主体缓冲将被分配。
若url内容在给定超时时间tim