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")

}

Golang HTTP 请求模拟:复现 Python requests 库

原文地址: https://www.cveoy.top/t/topic/oiiU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录