From d82df9df793ddbd61123a186461372c740a1c254 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 12 Aug 2021 13:41:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0urlencode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- httpcli.go | 1 + xobject.go | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/httpcli.go b/httpcli.go index 9cf02b1..82e7417 100644 --- a/httpcli.go +++ b/httpcli.go @@ -30,6 +30,7 @@ func HttpGetEx(url string, params *XObject, if !StrContains(url, "?") { url = url + "?" } + url = url + params.ToUrlEncodedStr() client := &http.Client{} request, err := http.NewRequest("GET", url, nil) if err != nil { diff --git a/xobject.go b/xobject.go index fde7ab4..875fb7e 100644 --- a/xobject.go +++ b/xobject.go @@ -1,6 +1,7 @@ package q5 import ( + "net/url" "encoding/json" ) @@ -171,6 +172,19 @@ func (this *XObject) ToJsonStr() string { } } +func (this *XObject) ToUrlEncodedStr() string { + if this.IsObject() { + u := url.Values{} + kvObj := this._val.(map[string]*XObject) + for key, val := range kvObj { + u.Set(key, val.AsXValue().GetString()) + } + return u.Encode() + } else { + return "" + } +} + func (this *XObject) ToInterface() interface{} { if this._type == XOT_ARRAY { array := this._val.([]*XObject)