Download
go get github.com/birdy02-com/request
使用request库
import "github.com/birdy02-com/request"
主要功能
- OPTIONS 请求方法
- HEAD 请求方法
- GET 请求方法
- POST 请求方法
- PUT 请求方法
其他功能
- GetRandomIP: 生成一个随机的IP地址
- IsIpv4: 检查一个IP字符串是否为IPv4地址
- IsPrivateIP: 判断IP是否为私有地址
- RootDomain: 检查一个字符串是否为域名并获取根域名
- IsLink: 判断是否为链接
- ParseUrl: 格式化URL
- GetHeader: 获取默认请求头
- HttpHeaderToMap: http.header 转换成 map
- HttpHeaderToString: http.header 转换成 String
- GetSiteBasic: 提取网站基本信息
- GetFaviconPath: 获取favicon.ico的路径
请求参数格式
// GetRequest 请求的参数结构
type GetRequest struct {
Timeout int // 超时时长
AllowRedirects bool // 是否跟随跳转
Verify bool // ssl验证证书忽略
Headers map[string]string // 请求头
Params map[string]string // 请求参数
Stream bool
Engine bool
Data string // post请求体
DataJson map[string]string // json格式传入post请求体,会格式化成 xx=xx
Json map[string]any // post请求
File map[string][]string // 上传的文件,格式参考 file:['文件名','内容','文件类型']
}
响应参数格式
// Response 请求的返回结构
type Response struct {
Basic struct {
Title string // 网页标题
Description string // 网页描述
Keywords string // 网页关键字
Favicon string // 网页图标路径
}
Redirect string // 重定向地址
Url string // 响应url
StatusCode int // 响应状态码
Status string // 响应状态 200 ok
Timer float64 // 响应时长
Headers http.Header // 响应头
Body string // 响应体(str)
Charset string // 检测到的编码方式
Content []byte // 响应体(byte)
Json map[string]interface{} // 响应的Json内容
Length int // 响应字节
Proto string // 响应协议
ProtoMajor int // 响应版本号-主
ProtoMinor int // 响应版本号-子
Request struct {
URL string // 请求url
Method string //请求方法
Headers http.Header //请求头
Body []byte // 请求体
}
}