代码拉取完成,页面将自动刷新
package https
import (
"time"
)
// 网址服务对象
type CURL struct {
Uri string `json:"uri"` // 请求网址
Param_quest map[string]string `json:"param"` // 请求参数
HttpCode int `json:"http_code"` // HTTP返回的code值
ParamJson_quest map[string]any `json:"param_json"` // JSON推送参数
Body string `json:"body"` // 返回值
Error error `json:"error"` // 错误信息
Header_quest map[string]string `json:"header"` // 请求Header头
CreateTime time.Time `json:"create_time"` // 实例创建时间
StartTime time.Time `json:"start_time"` // 请求开始时间
EndTime time.Time `json:"end_time"` // 请求结束时间
ClientIp string `json:"client_ip"` // 请求的客户端IP【兼容日志处理模块的预留字段】
Cookie_quest []string `json:"cookie"` // HTTP网址返回的Set-Cookie相应头
option *Option `json:"-"` // 请求的选项信息
cache_hit bool `json:"-"` // 是否命中缓存
}
// 外部选项传参结构[可选参数]
type Option struct {
https_continue bool // 是否跳过HTTPS证书效验
time_out time.Duration // 请求超时时间
cache_time time.Duration // 缓存时间【0表示不设置缓存】
ignore_header []string // 忽略请求头
}
// 选项设置参数,用于设置本次请求中的选项信息
type OptionFunc func(c *Option)
// 内部配置结构体
type config struct {
LogFunc []func(c *CURL) // 日志回写函数【缓存命中后将不记录此处的请求日志】
timeOut time.Duration // 默认超时时间
cacheTime time.Duration // 默认缓存时间
cacheInterface CacheInterface // 缓存配置项
}
// 缓存钩子
type CacheInterface interface {
Get(name string) string // 获取缓存值,缓存未找到的话请返回空字符串
Set(name string, val string, t time.Duration) // 设置缓存值,可能存在部分无法在string中正常显示的字符串
}
// 程序调用的默认值信息
var _default config = config{
timeOut: time.Second * 60,
cacheTime: 0,
cacheInterface: &cache{},
}
// 设置Quest请求日志
//
// f 日志记录函数【此函数会记录多个,所以请勿一直调用SetQuestLog进行插入日志记录函数】
func SetQuestLog(f func(c *CURL)) {
if f == nil {
return
}
_default.LogFunc = append(_default.LogFunc, f)
}
// 清除Quest请求日志记录的函数列表
func ClearQuestLog() {
_default.LogFunc = nil
}
// 设置默认的超时时间
//
// t 超时时间
func SetDefaultTimeOut(t time.Duration) {
_default.timeOut = t
}
// 设置默认的缓存时间
// 不建议设置此值,若确实需要缓存的话,建议针对URL地址进行配置缓存时间
//
// t 缓存时间
func SetDefaultCacheTime(t time.Duration) {
_default.cacheTime = t
}
// 设置缓存信息
//
// t 实现缓存方法的接口信息
func SetDefaultCacheFunc(t CacheInterface) {
_default.cacheInterface = t
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。