新聞中心
HTTP客戶端
?GOFrame?框架提供了強大便捷易用的?HTTP?客戶端,由?gclient?組件實現(xiàn),對象創(chuàng)建可以通過?gclient.New()?包方法,也可以通過?g.Client()?方法調(diào)用。推薦使用?g.Client()?來便捷地創(chuàng)建?HTTP?客戶端對象。

成都創(chuàng)新互聯(lián)公司專注于企業(yè)全網(wǎng)整合營銷推廣、網(wǎng)站重做改版、延平網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、H5開發(fā)、商城開發(fā)、集團公司官網(wǎng)建設、外貿(mào)營銷網(wǎng)站建設、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為延平等各大城市提供網(wǎng)站開發(fā)制作服務。
方法列表: https://pkg.go.dev/github.com/gogf/gf/v2/net/gclient
簡要說明:
- 我們可以使用?
New?創(chuàng)建一個自定義的?HTTP?客戶端對象?Client?,隨后可以使用該對象執(zhí)行請求,該對象底層使用了連接池設計,因此沒有?Close?關閉方法。?HTTP?客戶端對象也可以通過?g.Client()?快捷方法創(chuàng)建。 - 客戶端提供了一系列以?
HTTP Method?命名的方法,調(diào)用這些方法將會發(fā)起對應的?HTTP Method?請求。常用的方法是?Get?和?Post?方法,同時?DoRequest?是核心的請求方法,用戶可以調(diào)用該方法實現(xiàn)自定義的?HTTP Method?發(fā)送請求。 - 請求返回結果為?
*ClientResponse?對象,可以通過該結果對象獲取對應的返回結果,通過?ReadAll?/?ReadAllString?方法可以獲得返回的內(nèi)容,該對象在使用完畢后需要通過?Close?方法關閉,防止內(nèi)存溢出。 - ?
*Bytes?方法用于獲得服務端返回的二進制數(shù)據(jù),如果請求失敗返回?nil?;?*Content?方法用于請求獲得字符串結果數(shù)據(jù),如果請求失敗返回空字符串;?Set*?方法用于?Client?的參數(shù)設置。 - ?
*Var?方法直接請求并獲取?HTTP?接口結果為泛型類型便于轉(zhuǎn)換。如果請求失敗或者請求結果為空,會返回一個空的?g.Var?泛型對象,不影響轉(zhuǎn)換方法調(diào)用。 - 可以看到,客戶端的請求參數(shù)的數(shù)據(jù)參數(shù)?
data?數(shù)據(jù)類型為?interface{}?類型,也就是說可以傳遞任意的數(shù)據(jù)類型,常見的參數(shù)數(shù)據(jù)類型為?string?/?map?,如果參數(shù)為?map?類型,參數(shù)值將會被自動?urlencode?編碼。
請使用給定的方法創(chuàng)建?Client?對象,而不要使用?new(ghttp.Client)?或者?&ghttp.Client{}?創(chuàng)建客戶端對象。
HTTP返回對象
?gclient.Response?為?HTTP?對應請求的返回結果對象,該對象繼承于?http.Response?,可以使用?http.Response?的所有方法。在此基礎之上增加了以下幾個方法:
func (r *Response) GetCookie(key string) string
func (r *Response) GetCookieMap() map[string]string
func (r *Response) Raw() string
func (r *Response) RawDump()
func (r *Response) RawRequest() string
func (r *Response) RawResponse() string
func (r *Response) ReadAll() []byte
func (r *Response) ReadAllString() string
func (r *Response) Close() error這里也要提醒的是,?Response?需要手動調(diào)用?Close?方法關閉,也就是說,不管你使用不使用返回的?Response?對象,你都需要將該返回對象賦值給一個變量,并且手動調(diào)用其?Close?方法進行關閉(往往使用?defer r.Close()?),否則會造成文件句柄溢出、內(nèi)存溢出。
一些重要說明
- ?
ghttp?客戶端默認關閉了?KeepAlive?功能以及對服務端?TLS?證書的校驗功能,如果需要啟用可自定義客戶端的?Transport?屬性。 - 連接池參數(shù)設定、連接代理設置這些高級功能也可以通過自定義客戶端的?
Transport?屬性實現(xiàn),該數(shù)據(jù)繼承于標準庫的?http.Transport?對象。
網(wǎng)站題目:創(chuàng)新互聯(lián)GoFrame教程:GoFrameHTTPClient-基本介紹
文章分享:http://m.fisionsoft.com.cn/article/coisdoj.html


咨詢
建站咨詢
