url

package
v1.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 10, 2026 License: GPL-3.0 Imports: 18 Imported by: 23

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewCookies

func NewCookies() *cookiejar.Jar

func NewHeaders

func NewHeaders() *http.Header

初始化Headers结构体

func ParseCookies

func ParseCookies(rawurl string, cookies interface{}) *cookiejar.Jar

func ParseHeaders

func ParseHeaders(headers interface{}) *http.Header

解析Headers字符串为结构体

func SearchStrings

func SearchStrings(str []string, substr string) int

查询下标

Types

type BodyHook added in v1.5.0

type BodyHook func(any) io.Reader

type CookiesHook added in v1.5.0

type CookiesHook func(any, string) *cookiejar.Jar

type DataHook added in v1.5.0

type DataHook func(any) *Values

type Files

type Files struct {
	// contains filtered or unexported fields
}

Files结构体

func NewFiles

func NewFiles() *Files

初始化Files结构体

func (*Files) AddField

func (fs *Files) AddField(name, value string)

Files添加Field参数

func (*Files) AddFile

func (fs *Files) AddFile(name, fileName, filePath, contentType string)

Files添加File参数

func (*Files) Del

func (fs *Files) Del(name string) bool

删除Files参数

func (*Files) Encode

func (fs *Files) Encode() (*bytes.Buffer, string, error)

Files结构体转FormFile

func (*Files) Get

func (fs *Files) Get(name string) map[string]string

获取Files参数值

func (*Files) SetField

func (fs *Files) SetField(name, value string)

Files设置Field参数

func (*Files) SetFile

func (fs *Files) SetFile(name, fileName, filePath, contentType string)

Files设置File参数

type FilesHook added in v1.5.0

type FilesHook func(any) *Files

type HeadersHook added in v1.5.0

type HeadersHook func(any) *http.Header

type Params

type Params struct {
	// contains filtered or unexported fields
}

Params结构体

func NewParams

func NewParams() *Params

初始化Params结构体

func ParseParams

func ParseParams(params interface{}) *Params

解析params字符串为Params结构体

func (*Params) Add

func (p *Params) Add(key, value string)

添加Params参数

func (*Params) Del

func (p *Params) Del(key string)

删除Params参数

func (*Params) Encode

func (p *Params) Encode() string

Params结构体转字符串

func (*Params) Get

func (p *Params) Get(key string) string

获取Params参数值

func (*Params) Keys

func (p *Params) Keys() []string

获取Params的所有Key

func (*Params) Set

func (p *Params) Set(key, value string)

设置Params参数

func (*Params) Values added in v1.1.15

func (p *Params) Values() map[string][]string

Params结构体返回map[string][]string

type ParamsHook added in v1.5.0

type ParamsHook func(any) *Params

定义 Hook 函数类型,方便阅读

type Request

type Request struct {
	// Params 设置 URL 查询参数.
	// 支持的类型 (Accepted types):
	//   - *url.Params
	//   - string (e.g. "key=value&a=1")
	//   - map[string]string
	//   - map[string][]string
	//   - map[string]int, map[string][]int
	//   - map[string]float64, map[string][]float64
	//   - map[string]interface{} (支持递归解析)
	Params any

	// Headers 设置请求头.
	// 支持的类型 (Accepted types):
	//   - *http.Header
	//   - string (e.g. "User-Agent: abc\nAccept: */*")
	//   - map[string]string
	//   - map[string][]string
	//   - map[string]interface{} (值支持 string, int, float64, bool)
	//   - map[string][]interface{}
	Headers any

	// Cookies 设置请求 Cookies.
	// 支持的类型 (Accepted types):
	//   - *cookiejar.Jar
	//   - string (e.g. "name=value; a=1")
	//   - map[string]string
	//   - map[string]int
	//   - map[string]float64
	//   - map[string]interface{} (值支持 string, int, float64, bool)
	Cookies any

	// Data 设置表单数据 (application/x-www-form-urlencoded).
	// 支持的类型 (Accepted types):
	//   - *url.Values
	//   - string (e.g. "key=value&a=1")
	//   - map[string]string
	//   - map[string][]string
	//   - map[string]int, map[string][]int
	//   - map[string]float64, map[string][]float64
	//   - map[string]interface{} (支持递归解析)
	Data any

	// Files 设置上传的文件 (multipart/form-data).
	// 支持的类型 (Accepted types):
	//   - *url.Files
	//   - map[string]string (key为字段名, value为文件路径. 会自动提取文件名,ContentType默认为空)
	Files any

	// Json 设置 JSON 请求体 (application/json).
	// 支持的类型 (Accepted types):
	//   - map[string]interface{}
	//   - struct, array, slice, int, bool, string... (任何可被 json.Marshal 处理的类型)
	Json any

	// Body 设置原始请求体.
	// 支持的类型 (Accepted types):
	//   - io.Reader
	//   - []byte
	//   - string
	Body           any
	Auth           []string
	Timeout        time.Duration
	AllowRedirects bool
	Proxies        string
	Verify         bool
	Cert           []string
	Stream         bool
	Ja3            string
	RandomJA3      bool
	ForceHTTP1     bool
	TLSExtensions  *http.TLSExtensions
	HTTP2Settings  *http.HTTP2Settings

	// --- 解析中间件 (Hooks) ---
	ParamsHook  ParamsHook
	HeadersHook HeadersHook
	CookiesHook CookiesHook
	DataHook    DataHook
	FilesHook   FilesHook
	BodyHook    BodyHook
}

Request 配置请求参数的结构体

func NewRequest

func NewRequest() *Request

NewRequest 创建默认请求

func (*Request) GetBody added in v1.5.0

func (req *Request) GetBody() io.Reader

GetBody 获取 Body io.Reader

func (*Request) GetCookies added in v1.5.0

func (req *Request) GetCookies(rawurl string) *cookiejar.Jar

GetCookies 获取 Cookies 结构体 注意:解析字符串 Cookies 需要 rawurl 来确定域名,请在 Session 逻辑中传入

func (*Request) GetData added in v1.5.0

func (req *Request) GetData() *Values

GetData 获取 Data (Values) 结构体

func (*Request) GetFiles added in v1.5.0

func (req *Request) GetFiles() *Files

GetFiles 获取 Files 结构体

func (*Request) GetHeaders added in v1.5.0

func (req *Request) GetHeaders() *http.Header

GetHeaders 获取 Headers 结构体

func (*Request) GetParams added in v1.5.0

func (req *Request) GetParams() *Params

GetParams 获取 Params 结构体

func (*Request) Hash added in v1.4.2

func (req *Request) Hash() string

type URL

type URL struct {
	Scheme      string        // 协议
	User        *url.Userinfo // 用户信息
	Host        string        // 地址
	Path        string        // 路径
	RawParams   string        // GET参数
	Params      *Params       // GET参数
	RawFragment string        // 原始锚点
	Fragment    string        // 锚点
	// contains filtered or unexported fields
}

URL结构体

func Parse

func Parse(rawurl string) (*URL, error)

解析URL

func (*URL) String

func (u *URL) String() string

URL结构体转字符串

type Values

type Values struct {
	// contains filtered or unexported fields
}

Values结构体

func NewData

func NewData() *Values

初始化Data结构体

func NewValues

func NewValues() *Values

初始化Values结构体

func ParseData

func ParseData(data interface{}) *Values

解析Data字符串为Values结构体

func ParseValues

func ParseValues(data interface{}) *Values

解析Values字符串为Values结构体

func (*Values) Add

func (v *Values) Add(key, value string)

添加Values参数

func (*Values) Del

func (v *Values) Del(key string)

删除Values参数

func (*Values) Encode

func (v *Values) Encode() string

Values结构体转字符串

func (*Values) Get

func (v *Values) Get(key string) string

获取Values参数值

func (*Values) Keys

func (v *Values) Keys() []string

获取Values的所有Key

func (*Values) Set

func (v *Values) Set(key, value string)

设置Values参数

func (*Values) Values added in v1.1.15

func (v *Values) Values() map[string][]string

Values结构体返回map[string][]string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL