Documentation
¶
Overview ¶
Package httpclient http客户端
Index ¶
- type Request
- func (req *Request) DisableKeepAlive() *Request
- func (req *Request) EnableDebug() *Request
- func (req *Request) EnableDefaultHeader() *Request
- func (req *Request) Get(url string, data url.Values, header http.Header) (*Response, error)
- func (req *Request) Post(url string, data interface{}, header http.Header) (*Response, error)
- func (req *Request) PostJSON(url string, data interface{}, header http.Header) (*Response, error)
- func (req *Request) SetClient(client *http.Client) *Request
- func (req *Request) SetProxy(proxyURL string) *Request
- func (req *Request) SetRetryTimes(retryTimes int) *Request
- func (req *Request) SetShouldRetryFunc(f func(*http.Response, error) bool) *Request
- func (req *Request) SetTimeout(timeout time.Duration) *Request
- type Response
- func (resp *Response) Bytes() ([]byte, error)
- func (resp *Response) DecodeJSON(v interface{}) error
- func (resp *Response) Discard() (int64, error)
- func (resp *Response) Header() http.Header
- func (resp *Response) IsStatusOK() bool
- func (resp *Response) Raw() *http.Response
- func (resp *Response) String() (string, error)
- func (resp *Response) WriteFile(filename string) (int64, error)
- func (resp *Response) WriteTo(w io.Writer) (int64, error)
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Request ¶
type Request struct {
// contains filtered or unexported fields
}
Request http请求 NOTICE: 不支持并发调用
func (*Request) DisableKeepAlive ¶
DisableKeepAlive 关闭连接重用
func (*Request) EnableDefaultHeader ¶
EnableDefaultHeader 自动设置默认header
func (*Request) SetRetryTimes ¶
SetRetryTimes 设置重试次数
func (*Request) SetShouldRetryFunc ¶
SetShouldRetryFunc 设置是否应该重试方法
type Response ¶
type Response struct {
// contains filtered or unexported fields
}
Response http响应
func (*Response) DecodeJSON ¶
DecodeJSON http.Body json decode
func (*Response) WriteTo ¶
WriteTo 读取http.Body并写入w中
Example ¶
content := []byte("write file")
handler := func(rw http.ResponseWriter, req *http.Request) {
rw.Write(content)
}
s := httptest.NewServer(http.HandlerFunc(handler))
defer s.Close()
req := NewRequest()
resp, err := req.Get(s.URL, nil, nil)
if err != nil {
panic(err)
}
_, err = resp.WriteTo(os.Stdout)
if err != nil {
panic(err)
}
Output: write file
Click to show internal directories.
Click to hide internal directories.