Golang HTTP 请求模拟:复现 Python requests 库
package main
import ( "crypto/tls" "encoding/json" "fmt" "net/http" "net/url" )
func main() { g_url := "https://example.com" params := url.Values{} params.Add("key1", "value1") params.Add("key2", "value2")
tr := &http.Transport{
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
}
client := &http.Client{Transport: tr}
req, err := http.NewRequest("GET", g_url, nil)
if err != nil {
fmt.Println(err)
return
}
req.URL.RawQuery = params.Encode()
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
var data map[string]interface{}
err = json.NewDecoder(res.Body).Decode(&data)
if err != nil {
fmt.Println(err)
return
}
errCode, ok := data["errCode"].(float64)
if !ok {
fmt.Println("errCode not found")
return
}
if res.StatusCode == 200 && errCode == 0 {
fmt.Println("Success")
return
}
fmt.Println("Failed")
}
原文地址: https://www.cveoy.top/t/topic/oiiU 著作权归作者所有。请勿转载和采集!