菜单
本页目录

使用request库

import  "github.com/birdy02-com/request"

主要功能

请求方法

  1. HEAD()
  2. OPTIONS()
  3. GET()
  4. POST()
  5. PUT()

请求需要方法

  1. GetHeader() 获取格式化请求头
  2. 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信息
}