Documentation
¶
Index ¶
- Constants
- Variables
- type Agent
- type Receiver
- type SuperAgent
- func (s *SuperAgent) AddCookie(c *http.Cookie) Agent
- func (s *SuperAgent) AddCookies(cookies []*http.Cookie) Agent
- func (s *SuperAgent) AddHeader(param string, value string) Agent
- func (s *SuperAgent) AddParam(key string, value string) Agent
- func (s *SuperAgent) AddSimpleCookie(name, val string) Agent
- func (s *SuperAgent) AsCurlCommand() (string, error)
- func (s *SuperAgent) Asynch() Agent
- func (s *SuperAgent) Clone() Agent
- func (s *SuperAgent) Curl() Agent
- func (s *SuperAgent) Debug() Agent
- func (s *SuperAgent) Delete(targetUrl string, a ...interface{}) Receiver
- func (s *SuperAgent) Get(targetUrl string, a ...interface{}) Receiver
- func (s *SuperAgent) Head(targetUrl string, a ...interface{}) Receiver
- func (s *SuperAgent) Http(method, targetUrl string, a ...interface{}) Receiver
- func (s *SuperAgent) Options(targetUrl string, a ...interface{}) Receiver
- func (s *SuperAgent) Patch(targetUrl string, a ...interface{}) Receiver
- func (s *SuperAgent) Post(targetUrl string, a ...interface{}) Receiver
- func (s *SuperAgent) Proxy(proxyUrl string) Agent
- func (s *SuperAgent) Put(targetUrl string, a ...interface{}) Receiver
- func (s *SuperAgent) Query(content interface{}) Agent
- func (s *SuperAgent) RedirectPolicy(policy func(req *http.Request, via []*http.Request) error) Agent
- func (s *SuperAgent) Retry(retryerCount int, retryerTime time.Duration, statusCode ...int) Agent
- func (s *SuperAgent) Send(content interface{}) Agent
- func (s *SuperAgent) SendFile(file interface{}, args ...string) Agent
- func (s *SuperAgent) SendMap(content interface{}) Agent
- func (s *SuperAgent) SendSlice(content []interface{}) Agent
- func (s *SuperAgent) SendString(content string) Agent
- func (s *SuperAgent) SendStruct(content interface{}) Agent
- func (s *SuperAgent) SetBasicAuth(username string, password string) Agent
- func (s *SuperAgent) SetDoNotClearSuperAgent(enable bool) Agent
- func (s *SuperAgent) SetHeader(param string, value string) Agent
- func (s *SuperAgent) TLSClientConfig(config *tls.Config) Agent
- func (s *SuperAgent) Timeout(timeout time.Duration) Agent
- func (s *SuperAgent) Type(typeStr string) Agent
- type SuperFile
- type SuperReceiver
- func (s *SuperReceiver) Await() Receiver
- func (s *SuperReceiver) BodyCompile(pattern string) []string
- func (s *SuperReceiver) BodyUnmarshal(v interface{}) error
- func (s *SuperReceiver) Error() error
- func (s *SuperReceiver) Errors() []error
- func (s *SuperReceiver) GetBody() []byte
- func (s *SuperReceiver) GetBodyString() string
- func (s *SuperReceiver) GetResponse() *http.Response
- func (r *SuperReceiver) GetStatus() int
- func (s *SuperReceiver) Save(fl interface{}) error
- func (s *SuperReceiver) Stop()
- func (s *SuperReceiver) Then(fn func(r Receiver)) Receiver
Constants ¶
View Source
const ( POST = "POST" GET = "GET" HEAD = "HEAD" PUT = "PUT" DELETE = "DELETE" PATCH = "PATCH" OPTIONS = "OPTIONS" )
View Source
const ( TypeJSON = "json" TypeXML = "xml" TypeUrlencoded = "urlencoded" TypeForm = "form" TypeFormData = "form-data" TypeHTML = "html" TypeText = "text" TypeMultipart = "multipart" TypeStream = "stream" )
Variables ¶
View Source
var DisableTransportSwap = false
View Source
var Types = map[string]string{ TypeJSON: "application/json", TypeXML: "application/xml", TypeForm: "application/x-www-form-urlencoded", TypeFormData: "application/x-www-form-urlencoded", TypeUrlencoded: "application/x-www-form-urlencoded", TypeHTML: "text/html", TypeText: "text/plain", TypeMultipart: "multipart/form-data", TypeStream: "application/octet-stream", }
Functions ¶
This section is empty.
Types ¶
type Agent ¶
type Agent interface { // 开启debug Debug() Agent // 克隆 Clone() Agent // 设置超时 Timeout(timeout time.Duration) Agent // 是否打印curl命令 Curl() Agent // 开启异步 Asynch() Agent // 每次请求前都清空Agent SetDoNotClearSuperAgent(enable bool) Agent // 设置请求头 SetHeader(param string, value string) Agent // 添加请求头 AddHeader(param string, value string) Agent // 设置重试: 重试次数,间隔时间,期望返回的状态码列表 Retry(retryerCount int, retryerTime time.Duration, statusCode ...int) Agent // 设置auth SetBasicAuth(username string, password string) Agent // 添加cookie AddCookie(c *http.Cookie) Agent // 添加简单cookie AddSimpleCookie(name, val string) Agent // 添加cookies AddCookies(cookies []*http.Cookie) Agent // 设置请求数据类型 Type(typeStr string) Agent // 设置url参数 Query(content interface{}) Agent // 添加url参数 AddParam(key string, value string) Agent // 传输层安全协议配置 http2 TLSClientConfig(config *tls.Config) Agent // 设置代理地址 Proxy(proxyUrl string) Agent // 设置重定向策略 RedirectPolicy(policy func(req *http.Request, via []*http.Request) error) Agent // 发送内容,一般放在body,自动判断类型 Send(content interface{}) Agent // 指定发送切片 SendSlice(content []interface{}) Agent // 指定发送map SendMap(content interface{}) Agent // 指定发送struct SendStruct(content interface{}) Agent // 指定发送string SendString(content string) Agent // 发送文件,允许输入文件路径,文件流, [文件名,Field] SendFile(file interface{}, args ...string) Agent // 通用请求方法 Http(method, targetUrl string, a ...interface{}) Receiver // GET请求 Get(targetUrl string, a ...interface{}) Receiver // POST请求 Post(targetUrl string, a ...interface{}) Receiver // HEAD请求 Head(targetUrl string, a ...interface{}) Receiver // PUT请求 Put(targetUrl string, a ...interface{}) Receiver // DELETE请求 Delete(targetUrl string, a ...interface{}) Receiver // PATCH请求 Patch(targetUrl string, a ...interface{}) Receiver // OPTIONS请求 Options(targetUrl string, a ...interface{}) Receiver // 返回curl AsCurlCommand() (string, error) }
请求体接口定义
type Receiver ¶
type Receiver interface { // 获取原生响应体 GetResponse() *http.Response // 获取body内容 GetBody() []byte // 获取body内容 GetBodyString() string // body内容转对象 BodyUnmarshal(v interface{}) error // 正则匹配body内容 BodyCompile(pattern string) []string // 获取响应状态码,没有则返回 -1 GetStatus() int // 异步等待响应结果返回 Await() Receiver // 保存到文件 Save(fl interface{}) error // 后续操作 Then(fn func(r Receiver)) Receiver // 停止后续操作 Stop() // 获取最后一个错误 Error() error // 获取所有错误 Errors() []error }
响应接口定义
type SuperAgent ¶
type SuperAgent struct { // 请求url Url string // 请求方法 Method string // 请求头 Header http.Header TargetType string ForceType string Data map[string]interface{} // 优先级 大于 Data SliceData []interface{} // url参数 QueryData url.Values // 文件 FileData []SuperFile // 是否将send的内容反射到 queryUrl BounceToRawString bool RawString string Client *http.Client Transport *http.Transport Cookies []*http.Cookie Errors []error BasicAuth struct{ Username, Password string } // 重试设置 Retryable superAgentRetryable DoNotClearSuperAgent bool // contains filtered or unexported fields }
------------------ 定义SuperAgent 实现 Agent 接口 ---------------------
func (*SuperAgent) AddCookies ¶
func (s *SuperAgent) AddCookies(cookies []*http.Cookie) Agent
func (*SuperAgent) AddSimpleCookie ¶
func (s *SuperAgent) AddSimpleCookie(name, val string) Agent
func (*SuperAgent) AsCurlCommand ¶
func (s *SuperAgent) AsCurlCommand() (string, error)
func (*SuperAgent) Asynch ¶
func (s *SuperAgent) Asynch() Agent
func (*SuperAgent) Clone ¶
func (s *SuperAgent) Clone() Agent
func (*SuperAgent) Curl ¶
func (s *SuperAgent) Curl() Agent
func (*SuperAgent) Debug ¶
func (s *SuperAgent) Debug() Agent
func (*SuperAgent) Delete ¶
func (s *SuperAgent) Delete(targetUrl string, a ...interface{}) Receiver
func (*SuperAgent) Get ¶
func (s *SuperAgent) Get(targetUrl string, a ...interface{}) Receiver
func (*SuperAgent) Head ¶
func (s *SuperAgent) Head(targetUrl string, a ...interface{}) Receiver
func (*SuperAgent) Http ¶
func (s *SuperAgent) Http(method, targetUrl string, a ...interface{}) Receiver
func (*SuperAgent) Options ¶
func (s *SuperAgent) Options(targetUrl string, a ...interface{}) Receiver
func (*SuperAgent) Patch ¶
func (s *SuperAgent) Patch(targetUrl string, a ...interface{}) Receiver
func (*SuperAgent) Post ¶
func (s *SuperAgent) Post(targetUrl string, a ...interface{}) Receiver
func (*SuperAgent) Proxy ¶
func (s *SuperAgent) Proxy(proxyUrl string) Agent
func (*SuperAgent) Put ¶
func (s *SuperAgent) Put(targetUrl string, a ...interface{}) Receiver
func (*SuperAgent) Query ¶
func (s *SuperAgent) Query(content interface{}) Agent
func (*SuperAgent) RedirectPolicy ¶
func (s *SuperAgent) RedirectPolicy(policy func(req *http.Request, via []*http.Request) error) Agent
重定向策略设置
func (*SuperAgent) Send ¶
func (s *SuperAgent) Send(content interface{}) Agent
func (*SuperAgent) SendFile ¶
func (s *SuperAgent) SendFile(file interface{}, args ...string) Agent
func (*SuperAgent) SendMap ¶
func (s *SuperAgent) SendMap(content interface{}) Agent
func (*SuperAgent) SendSlice ¶
func (s *SuperAgent) SendSlice(content []interface{}) Agent
func (*SuperAgent) SendString ¶
func (s *SuperAgent) SendString(content string) Agent
func (*SuperAgent) SendStruct ¶
func (s *SuperAgent) SendStruct(content interface{}) Agent
func (*SuperAgent) SetBasicAuth ¶
func (s *SuperAgent) SetBasicAuth(username string, password string) Agent
func (*SuperAgent) SetDoNotClearSuperAgent ¶
func (s *SuperAgent) SetDoNotClearSuperAgent(enable bool) Agent
每次请求前都清除上一次的数据
func (*SuperAgent) TLSClientConfig ¶
func (s *SuperAgent) TLSClientConfig(config *tls.Config) Agent
传输层安全协议配置 http2
func (*SuperAgent) Type ¶
func (s *SuperAgent) Type(typeStr string) Agent
type SuperReceiver ¶
type SuperReceiver struct { Resp *http.Response Body []byte Errs []error // contains filtered or unexported fields }
func (*SuperReceiver) Await ¶
func (s *SuperReceiver) Await() Receiver
func (*SuperReceiver) BodyCompile ¶
func (s *SuperReceiver) BodyCompile(pattern string) []string
func (*SuperReceiver) BodyUnmarshal ¶
func (s *SuperReceiver) BodyUnmarshal(v interface{}) error
func (*SuperReceiver) Error ¶
func (s *SuperReceiver) Error() error
func (*SuperReceiver) Errors ¶
func (s *SuperReceiver) Errors() []error
func (*SuperReceiver) GetBody ¶
func (s *SuperReceiver) GetBody() []byte
func (*SuperReceiver) GetBodyString ¶
func (s *SuperReceiver) GetBodyString() string
func (*SuperReceiver) GetResponse ¶
func (s *SuperReceiver) GetResponse() *http.Response
func (*SuperReceiver) GetStatus ¶
func (r *SuperReceiver) GetStatus() int
func (*SuperReceiver) Stop ¶
func (s *SuperReceiver) Stop()
func (*SuperReceiver) Then ¶
func (s *SuperReceiver) Then(fn func(r Receiver)) Receiver
Click to show internal directories.
Click to hide internal directories.