Compare commits

...

3 Commits
v1 ... v1.0.6

Author SHA1 Message Date
renzhiyuan 8fe8d3f716 first push 2025-06-25 10:50:57 +08:00
renzhiyuan d437bfae2b first push 2025-06-23 20:00:49 +08:00
renzhiyuan f455983911 first push 2025-02-19 16:18:27 +08:00
2 changed files with 29 additions and 4 deletions

2
go.mod
View File

@ -1,3 +1,3 @@
module gitea.cdlsxd.cn/self-tools/l-request module gitea.cdlsxd.cn/self-tools/l_request
go 1.21 go 1.21

View File

@ -1,6 +1,7 @@
package l_request package l_request
import ( import (
"crypto/tls"
"encoding/json" "encoding/json"
"io" "io"
"net/http" "net/http"
@ -68,15 +69,22 @@ func (r *Request) getData() io.Reader {
urlValues.Add(key, value) urlValues.Add(key, value)
} }
reqBody = urlValues.Encode() reqBody = urlValues.Encode()
if _, ex := r.Headers["Content-Type"]; !ex {
r.Headers["Content-Type"] = "application/x-www-form-urlencoded" r.Headers["Content-Type"] = "application/x-www-form-urlencoded"
}
} else if r.Json != nil { } else if r.Json != nil {
bytesData, _ := json.Marshal(r.Json) bytesData, _ := json.Marshal(r.Json)
reqBody = string(bytesData) reqBody = string(bytesData)
if _, ex := r.Headers["Content-Type"]; !ex {
r.Headers["Content-Type"] = "application/json" r.Headers["Content-Type"] = "application/json"
}
} else if r.JsonByte != nil { } else if r.JsonByte != nil {
reqBody = string(r.JsonByte) reqBody = string(r.JsonByte)
if _, ex := r.Headers["Content-Type"]; !ex {
r.Headers["Content-Type"] = "application/json" r.Headers["Content-Type"] = "application/json"
} }
}
return strings.NewReader(reqBody) return strings.NewReader(reqBody)
} }
@ -128,3 +136,20 @@ func (r *Request) Send() (Response, error) {
elapsed := time.Since(start).Seconds() elapsed := time.Since(start).Seconds()
return r.packResponse(res, elapsed), nil return r.packResponse(res, elapsed), nil
} }
// 跳过证书发送请求
func (r *Request) SendWithoutSsl() (Response, error) {
tr := &http.Transport{
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
}
req := r.prepare()
client := &http.Client{Transport: tr}
start := time.Now()
res, err := client.Do(req)
if err != nil {
return Response{}, err
}
defer res.Body.Close()
elapsed := time.Since(start).Seconds()
return r.packResponse(res, elapsed), nil
}