亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

代理網關發回 HTTP 響應

代理網關發回 HTTP 響應

Go
MMTTMM 2022-05-18 14:47:06
我正在尋找在 Go 中制作代理網關??焱瓿闪耍∪匀蝗鄙僖患拢簩⒄麄€客戶端響應發送到服務器請求。我有自己的 HTTP 處理程序:func (f HttpHandlerFunc) ServeHTTP(w http.ResponseWriter, r *http.Request) {    if rurl, err := getOriginurl(r.RequestURI); err == nil {        [...]        client := &Http.Client{}        r.URL = rurl        r.RequestURI = ""        resp, err := client.Do(r)        if err == nil {            for k, vs := range resp.Header {                for _, v := range vs {                    w.Header().Set(k, v)                }            }            w.WriteHeader(resp.StatusCode)            if responseData,err := ioutil.ReadAll(resp.Body); err == nil {                w.Write(responseData)            }        }    }}func getOriginurl(request string) *url.URL {   {...}   // Would return an *url.URL with : http://127.0.0.1:8080/{requestURI}}我正在尋找一種方法來優化解析客戶端對 ResponseWriter 的響應的方式。實際上我的問題是:如何詳盡地將 Response 類型解析為 ResponseWriter ?
查看完整描述

1 回答

?
慕妹3242003

TA貢獻1824條經驗 獲得超6個贊

您可以使用httputil.NewSingleHostReverseProxy代替您自己的 HTTP 客戶端邏輯。

httputil.NewSingleHostReverseProxy(rurl).ServeHTTP(w, r)


查看完整回答
反對 回復 2022-05-18
  • 1 回答
  • 0 關注
  • 157 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號