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.