Documentation ¶
Index ¶
- Variables
- type BasicAuth
- type Config
- type EccConfig
- type Files
- type Form
- type FormFileBytes
- type Header
- type JsonMap
- type JsonString
- type Param
- type Request
- type Requests
- func (r *Requests) Any(method, targetUrl string, args ...interface{}) (*Response, error)
- func (r *Requests) AnyCompareStatusCode(method, target1Url, target2Url string, args ...interface{}) (*Response, error)
- func (r *Requests) Delete(targetUrl string, args ...interface{}) (*Response, error)
- func (r *Requests) Get(targetUrl string, args ...interface{}) (*Response, error)
- func (r *Requests) GetHttpClient() *http.Client
- func (r *Requests) GetHttpPort() int
- func (r *Requests) GetHttpRequest(request Request) *http.Request
- func (r *Requests) GetText(data string) Text
- func (r *Requests) Patch(targetUrl string, args ...interface{}) (*Response, error)
- func (r *Requests) Post(targetUrl string, args ...interface{}) (*Response, error)
- func (r *Requests) PostAes(targetUrl, jsonStr string) (*Response, error)
- func (r *Requests) PostEcc(targetUrl, jsonStr string) (*Response, error)
- func (r *Requests) PostEccText(targetUrl, data string) (*Response, error)
- func (r *Requests) Put(targetUrl string, args ...interface{}) (*Response, error)
- func (r *Requests) RemoveProxy(client *http.Client)
- func (r *Requests) SetProxy(client *http.Client, proxyUrl string) error
- func (r *Requests) SetResponse(resp *Response, response *http.Response)
- func (r *Requests) SetTimeout(client *http.Client, timeout int)
- func (r *Requests) Upload(urlPath, formName, filePath string) (*Response, error)
- func (r *Requests) UploadByBytes(urlPath, formName, fileName string, fileContent []byte) (*Response, error)
- type Response
- type Text
Constants ¶
This section is empty.
Variables ¶
View Source
var (
CAgents = []string{
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 Firefox/100.0",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.61 Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Firefox/91.0",
"Mozilla/5.0 (X11; Linux x86_64; rv:100.0) Gecko/20100101 Firefox/100.0",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.5 Safari/605.1.15",
"Mozilla/5.0 (X11; Linux x86_64; rv:101.0) Gecko/20100101 Firefox/101.0",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.61 Safari/537.36",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Safari/605.1.15",
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.61 Safari/537.36",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:100.0) Gecko/20100101 Firefox/100.0",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36",
"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:100.0) Gecko/20100101 Firefox/100.0",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36 Edg/101.0.1210.53",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36",
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.62 Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36 Edg/101.0.1210.47",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:101.0) Gecko/20100101 Firefox/101.0",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36 Edg/102.0.1245.33",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36",
"Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.3 Safari/605.1.15",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.115 Safari/537.36",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36",
"Mozilla/5.0 (X11; Linux x86_64; rv:99.0) Gecko/20100101 Firefox/99.0",
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36 OPR/86.0.4363.59",
"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:100.0) Gecko/20100101 Firefox/100.0",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.1 Safari/605.1.15",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36 Edg/101.0.1210.39",
"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36 Edg/102.0.1245.39",
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36 Edg/102.0.1245.30",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 OPR/85.0.4341.71",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.143 YaBrowser/22.5.0.1814 Yowser/2.5 Safari/537.36",
"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36 OPR/86.0.4363.70",
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36",
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36 OPR/86.0.4363.64",
"Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.60 Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36",
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36",
"Mozilla/5.0 (X11; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0",
"Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Safari/605.1.15",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.2 Safari/605.1.15",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36",
"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36",
"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0",
}
)
Functions ¶
This section is empty.
Types ¶
type Config ¶ added in v0.2.5
type Config struct { Timeout int `json:"timeout" yaml:"timeout"` // 请求超时时间(秒) ContentType string `yaml:"content_type" json:"content_type"` // 内容类型,默认"application/json" UserAgent string `yaml:"user_agent" json:"user_agent"` // 用户代理,默认"ZDP-Go-Requests" Author string `yaml:"author" json:"author"` // 作者,自定义请求头 TmpDir string `yaml:"tmp_dir" json:"tmp_dir"` // 文件上传临时目录 IsCheckHttps bool `json:"is_check_https" yaml:"is_check_https"` // 是否检查HTTPS IsCheckRedirect bool `yaml:"is_check_redirect" json:"is_check_redirect"` TargetUrl string `yaml:"target_url" json:"target_url"` // 目标地址 IsRecordRequestDetail bool `yaml:"is_record_request_detail" json:"is_record_request_detail"` IsRecordResponseDetail bool `yaml:"is_record_response_detail" json:"is_record_response_detail"` IsKeepSession bool `yaml:"is_keep_session" json:"is_keep_session"` IsRandomUserAgent bool `yaml:"is_random_user_agent" json:"is_random_user_agent"` // 随机的用户代理 ProxyUrl string `yaml:"is_json" json:"is_json"` Ecc EccConfig `yaml:"ecc" json:"ecc"` }
type FormFileBytes ¶ added in v0.3.8
type FormFileBytes struct { FormName string `json:"form_name"` // 表单名称 FileName string `json:"file_name"` // 文件名称 ContentBytes []byte `json:"content_bytes"` // 文件内容 }
FormFileBytes 字节类型的表单文件
type JsonString ¶ added in v0.2.5
type JsonString string // 提交JSON格式的字符串
type Request ¶ added in v0.2.5
type Request struct { Method string `json:"method"` Url string `json:"url"` Header map[string]string `json:"header"` Body *bytes.Buffer `json:"body"` // 参考UploadByBytes的实现 Query map[string]string `json:"query"` IsJson bool `json:"is_json"` Json map[string]interface{} `json:"json"` JsonText string `json:"json_text"` IsForm bool `json:"is_form"` Form map[string]string `json:"form"` FormText string `json:"form_text"` IsText bool `json:"is_text"` Text string `json:"text"` BasicAuth BasicAuth `json:"basic_auth"` }
Request 请求对象
type Requests ¶
type Requests struct { ClientPort int // 源端口 Config *Config // 配置对象 Log *zdpgo_log.Log // 日志对象 File *zdpgo_file.File // 文件对象 Json *zdpgo_json.Json // json处理对象 Random *zdpgo_random.Random // 随机数据生成 Password *zdpgo_password.Password // 加密对象 }
func NewWithConfig ¶ added in v0.2.9
NewWithConfig 通过配置创建Requests请求对象
func (*Requests) AnyCompareStatusCode ¶ added in v0.4.7
func (r *Requests) AnyCompareStatusCode(method, target1Url, target2Url string, args ...interface{}) (*Response, error)
AnyCompareStatusCode 任意方法发送请求,会发送两次请求,比较前后的状态码
func (*Requests) GetHttpClient ¶ added in v0.2.9
GetHttpClient 获取HTTP请求的客户端
func (*Requests) GetHttpPort ¶ added in v0.3.8
GetHttpPort 获取系统中可用的端口号
func (*Requests) GetHttpRequest ¶ added in v0.2.9
func (*Requests) PostEcc ¶ added in v0.4.4
PostEcc 发送POST请求的ECC加密数据 @param targetUrl 目标地址 @param jsonStr JSON格式的字符串
func (*Requests) PostEccText ¶ added in v0.4.5
PostEccText POST提交ECC加密的纯文本
func (*Requests) RemoveProxy ¶ added in v0.3.5
RemoveProxy 移除代理
func (*Requests) SetResponse ¶ added in v0.3.8
SetResponse 设置响应结果
func (*Requests) SetTimeout ¶ added in v0.3.8
SetTimeout 设置请求超时时间
type Response ¶ added in v0.2.5
type Response struct { Content []byte `json:"content"` // 响应内容 Text string `json:"text"` // 响应文本 RawReqDetail string `json:"raw_req_detail"` // 请求详情字符串 RawRespDetail string `json:"raw_resp_detail"` // 响应详情字符串 StatusCode int `json:"status_code"` // 状态码 IsRedirect bool `json:"is_redirect"` // 是否重定向了 RedirectUrl string `json:"redirect_url"` // 重定向的的URL地址 StartTime int `json:"start_time"` // 请求开始时间(纳秒) EndTime int `json:"end_time"` // 请求结束时间(纳秒) SpendTime int `json:"spend_time"` // 请求消耗时间(纳秒) SpendTimeSeconds int `json:"spend_time_seconds"` // 请求消耗时间(秒) ClientIp string `json:"client_ip"` // 客户端IP ClientPort int `json:"client_port"` // 客户端端口号 FirstStatusCode int `json:"first_status_code"` // 第一次请求的状态码 }
Response 响应对象
Source Files ¶
Click to show internal directories.
Click to hide internal directories.