parent
b893a2d58d
commit
982f835735
@ -1,11 +1,21 @@
|
||||
## v1.0.8 / 2021-05-31
|
||||
|
||||
- 【助手】增加url函数
|
||||
- 【助手】增加规则验证函数
|
||||
- 【助手】优化md5函数
|
||||
|
||||
## v0.0.7 / 2021-05-31
|
||||
|
||||
- 【助手】增加请求函数
|
||||
|
||||
## v0.0.6 / 2021-05-29
|
||||
|
||||
- 【服务】修复拼多多参数
|
||||
|
||||
## v0.0.5 / 2021-05-29
|
||||
|
||||
- 增加拼多多联盟服务
|
||||
|
||||
## v0.0.4 / 2021-05-29
|
||||
|
||||
- 优化
|
||||
|
@ -0,0 +1,49 @@
|
||||
package header
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"net/url"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
type Headers map[string]interface{}
|
||||
|
||||
func NewHeaders() Headers {
|
||||
P := make(Headers)
|
||||
return P
|
||||
}
|
||||
|
||||
func (p Headers) Set(key string, value interface{}) {
|
||||
p[key] = value
|
||||
}
|
||||
|
||||
func (p Headers) SetHeaders(headers Headers) {
|
||||
for key, value := range headers {
|
||||
p[key] = value
|
||||
}
|
||||
}
|
||||
|
||||
func (p Headers) GetQuery() string {
|
||||
u := url.Values{}
|
||||
for k, v := range p {
|
||||
u.Set(k, GetHeadersString(v))
|
||||
}
|
||||
return u.Encode()
|
||||
}
|
||||
|
||||
func GetHeadersString(i interface{}) string {
|
||||
switch v := i.(type) {
|
||||
case string:
|
||||
return v
|
||||
case []byte:
|
||||
return string(v)
|
||||
case int:
|
||||
return strconv.Itoa(v)
|
||||
case bool:
|
||||
return strconv.FormatBool(v)
|
||||
default:
|
||||
bytes, _ := json.Marshal(v)
|
||||
return string(bytes)
|
||||
}
|
||||
return ""
|
||||
}
|
@ -0,0 +1,57 @@
|
||||
package params
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"net/url"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
type Params map[string]interface{}
|
||||
|
||||
func NewParams() Params {
|
||||
P := make(Params)
|
||||
return P
|
||||
}
|
||||
|
||||
func NewParamsWithType(params ...Params) Params {
|
||||
p := make(Params)
|
||||
for _, v := range params {
|
||||
p.SetParams(v)
|
||||
}
|
||||
return p
|
||||
}
|
||||
|
||||
func (p Params) Set(key string, value interface{}) {
|
||||
p[key] = value
|
||||
}
|
||||
|
||||
func (p Params) SetParams(params Params) {
|
||||
for key, value := range params {
|
||||
p[key] = value
|
||||
}
|
||||
}
|
||||
|
||||
func (p Params) GetQuery() string {
|
||||
u := url.Values{}
|
||||
for k, v := range p {
|
||||
u.Set(k, GetParamsString(v))
|
||||
}
|
||||
return u.Encode()
|
||||
}
|
||||
|
||||
func GetParamsString(i interface{}) string {
|
||||
switch v := i.(type) {
|
||||
case string:
|
||||
return v
|
||||
case []byte:
|
||||
return string(v)
|
||||
case int:
|
||||
return strconv.Itoa(v)
|
||||
case bool:
|
||||
return strconv.FormatBool(v)
|
||||
default:
|
||||
bytes, _ := json.Marshal(v)
|
||||
return string(bytes)
|
||||
}
|
||||
return ""
|
||||
}
|
@ -0,0 +1,45 @@
|
||||
package url
|
||||
|
||||
import (
|
||||
"io"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"os"
|
||||
)
|
||||
|
||||
// LenCode 编码
|
||||
func LenCode(s string) string {
|
||||
escape := url.QueryEscape(s)
|
||||
return escape
|
||||
}
|
||||
|
||||
// DeCode 解码
|
||||
func DeCode(s string) string {
|
||||
unescape, _ := url.QueryUnescape(s)
|
||||
return unescape
|
||||
}
|
||||
|
||||
// ParseQuery 获取URL参数 https://studygolang.com/articles/2876
|
||||
func ParseQuery(s string) map[string][]string {
|
||||
u, err := url.Parse(s)
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
urlParam := u.RawQuery
|
||||
m, _ := url.ParseQuery(urlParam)
|
||||
return m
|
||||
}
|
||||
|
||||
// QueryHeaders 获取Headers参数 https://blog.csdn.net/qq_31387691/article/details/109312920
|
||||
func QueryHeaders(url string) map[string][]string {
|
||||
client := &http.Client{}
|
||||
reqest, err := http.NewRequest("GET", url, nil)
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
response, _ := client.Do(reqest)
|
||||
stdout := os.Stdout
|
||||
_, err = io.Copy(stdout, response.Body)
|
||||
headers := response.Header
|
||||
return headers
|
||||
}
|
Loading…
Reference in new issue