package request import ( "context" "net/http" "net/url" "testing" "time" ) func Test_Get(t *testing.T) { uri := "https://gateway.dev.cdlsxd.cn/adminyx/admin/v1/key_batch/list" uv := url.Values{} uv.Set("page", "1") uv.Set("limit", "2") h := http.Header{ "Content-Type": []string{"application/x-www-form-urlencoded"}, } respHeader, respBody, err := Get(context.Background(), uri+"?"+uv.Encode(), WithHeaders(h)) if err != nil { t.Error(err) return } t.Logf("响应体:", string(respBody)) t.Logf("响应头:", respHeader) } func Test_RequestHeaders(t *testing.T) { uri := "http://example.com/api" body := []byte("request body") h := http.Header{ "Content-Type": []string{"application/json"}, "Authorization": []string{"Bearer token"}, } respHeader, respBody, err := Post(context.Background(), uri, body, WithTimeout(10*time.Second), WithHeaders(h)) if err != nil { t.Error(err) return } t.Logf("响应体:", string(respBody)) t.Logf("响应头:", respHeader) } func Test_RequestStatusCode(t *testing.T) { uri := "http://example.com/api/update" body := []byte("update data") isSuccess := func(code int) bool { return code == http.StatusOK || code == http.StatusCreated } respHeader, respBody, err := Put(context.Background(), uri, body, WithStatusCodeFunc(isSuccess)) if err != nil { t.Error(err) return } t.Logf("响应体:", string(respBody)) t.Logf("响应头:", respHeader) }