使用request库
import "github.com/birdy02-com/request"
主要功能
请求方法
- HEAD()
- OPTIONS()
- GET()
- POST()
- PUT()
请求需要方法
- GetHeader() 获取格式化请求头
- GetPhoneHeader() 获取格式化请求头(手机)
IP相关
- IsIpv4() 检查一个IP字符串是否为IPv4地址
- GetRandomIP() 生成一个随机的IP地址
域名方法
- RootDomain() 检查一个字符串是否为域名并获取根域名
- GetDomain() URL获取域名
- GetHostName() URL获取hostname
URL相关
- IsLink() 判断是否为URL
- GetUrlIpv4() 获取Url的IPv4地址
- ParseUrl() 格式化URL
- GetRootLink() 获取不带路径参数的URL
- FormatUrl() 格式化URL
- CheckCDN() 检测是否为CDN
其他方法
- GetAllTagA() 获取所有A标签的href值列表
- GetAllJs() 获取所有Js列表
- HttpHeaderToString() http.header 转换成 String
- HttpHeaderToMap() http.header 转换成 map
文件相关
- IsJsFile() 是否为Js文件
- IsCssFile() 是否为Css文件
- IsMediaFile() 是否为媒体文件
响应返回格式
// 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 // 请求体
}
TLS *tls.ConnectionState // https请求TLS信息
}