2 Star 8 Fork 0

林伟奇思妙想 / lwq

Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
Clone or Download
Http_键值列表.go 3.96 KB
Copy Edit Raw Blame History
林伟奇思妙想 authored 2023-04-11 23:37 . On branch master
package lwq
import (
"encoding/json"
"fmt"
"io"
"net/http"
"strings"
)
type HTTP_键值列表 struct {
附加协议头 map[string]string
Fhxyt_返回协议头 http.Header //可以直接用 . 路径取值
Fhcook_返回cook string
Fhztm_返回状态码 int
Fhsj_返回数据 []byte
}
func (网络请求 *HTTP_键值列表) 初始化() {
if 网络请求.附加协议头 == nil {
网络请求.附加协议头 = make(map[string]string)
}
}
func (网络请求 *HTTP_键值列表) Zfjxyt_置_附加协议头(协议头表 map[string]any) {
网络请求.初始化()
for J, v := range 协议头表 {
网络请求.附加协议头[J] = fmt.Sprintf("%v", v)
}
}
func (网络请求 *HTTP_键值列表) Qk_清空(cookies ...string) {
网络请求.初始化()
网络请求.附加协议头 = make(map[string]string)
网络请求.Fhcook_返回cook = ""
网络请求.Fhsj_返回数据 = make([]byte, 0)
}
func (网络请求 *HTTP_键值列表) Zcookie_置_cookies(cookies ...string) {
网络请求.初始化()
网络请求.附加协议头["cookie"] = strings.Join(cookies, ";")
}
func (网络请求 *HTTP_键值列表) Post(网址 string, 提交数据 string) (返回_错误 error) {
client := &http.Client{}
req, _ := http.NewRequest("POST", 网址, strings.NewReader(提交数据))
if len(网络请求.附加协议头) > 0 {
for k, v := range 网络请求.附加协议头 {
req.Header.Add(k, v)
}
}
resp, err := client.Do(req)
if err != nil {
返回_错误 = err
//resp.Body.Close()
return
}
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
网络请求.Fhsj_返回数据 = body
if err != nil {
返回_错误 = err
return
}
网络请求.Fhxyt_返回协议头 = resp.Header
网络请求.Fhztm_返回状态码 = resp.StatusCode
返回_cookes := resp.Cookies()
//网络请求.Fh_cook
协议头组 := make([]string, len(返回_cookes))
for i, v := range 返回_cookes {
协议头组[i] = v.Name + "=" + v.Value
}
网络请求.Fhcook_返回cook = strings.Join(协议头组, ";")
return
}
func (网络请求 *HTTP_键值列表) Fhsjdjzb_返回数据_到键值表() (返回_键值表 JZB_键值表, 返回_错误 error) {
map表 := make(map[string]any)
返回_错误 = json.Unmarshal(网络请求.Fhsj_返回数据, &map表)
if 返回_错误 != nil {
return
}
返回_键值表.ZR_载入(map表)
return
}
func (网络请求 *HTTP_键值列表) Fhsjdlb_返回数据_到列表() (返回_列表 LB_列表, 返回_错误 error) {
切片 := make([]any, 0)
返回_错误 = json.Unmarshal(网络请求.Fhsj_返回数据, &切片)
if 返回_错误 != nil {
return
}
返回_列表.ZR_载入(切片)
return
}
func (网络请求 *HTTP_键值列表) Fhsjdwb_返回数据_到文本() (返回_值 string) {
返回_值 = string(网络请求.Fhsj_返回数据)
return
}
func (网络请求 *HTTP_键值列表) Get(网址 string, 提交数据 ...string) (返回_错误 error) {
client := &http.Client{}
请求网址 := 网址
if len(提交数据) > 0 && 提交数据[0] != "" {
if strings.HasSuffix(请求网址, "?") {
请求网址 = 请求网址 + 提交数据[0]
} else {
请求网址 = 请求网址 + "?" + 提交数据[0]
}
}
req, _ := http.NewRequest("GET", 请求网址, nil)
if len(网络请求.附加协议头) > 0 {
for k, v := range 网络请求.附加协议头 {
req.Header.Add(k, v)
}
}
resp, err := client.Do(req)
if err != nil {
返回_错误 = err
//resp.Body.Close()
return
}
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
网络请求.Fhsj_返回数据 = body
if err != nil {
返回_错误 = err
return
}
网络请求.Fhxyt_返回协议头 = resp.Header
网络请求.Fhztm_返回状态码 = resp.StatusCode
网络请求.Fhztm_返回状态码 = resp.StatusCode
返回_cookes := resp.Cookies()
协议头组 := make([]string, len(返回_cookes))
for i, v := range 返回_cookes {
协议头组[i] = v.Name + "=" + v.Value
}
网络请求.Fhcook_返回cook = strings.Join(协议头组, ";")
return
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/mad-wud/lwq.git
git@gitee.com:mad-wud/lwq.git
mad-wud
lwq
lwq
v1.0.4

Search

344bd9b3 5694891 D2dac590 5694891