Golang转发请求

Get参数自己拼接

package main

import (
    "log"
    "net/http"
    "net/http/httputil"
    "net/url"

    "github.com/gogf/gf/v2/frame/g"
    "github.com/gogf/gf/v2/net/ghttp"
)

func main() {
    s := g.Server()
    s.SetPort(8899)
    group := s.Group("/")
    group.ALL("/api", func(r *ghttp.Request) {
        ForwardHandler(r.Response.ResponseWriter, r.Request)
    })
    s.Run()
}

func ForwardHandler(writer http.ResponseWriter, request *http.Request) {
    u, err := url.Parse("http://localhost:8083" + "?" + request.URL.RawQuery)
    if nil != err {
        log.Println(err)
        return
    }
    proxy := httputil.ReverseProxy{
        Director: func(request *http.Request) {
            request.URL = u
        },
    }
    proxy.ServeHTTP(writer, request)
}

验证变量存在:

<?php

var_dump($_GET);
var_dump($_POST);
var_dump($_FILES);

 

posted @ 2022-04-22 01:11  许伟强  阅读(724)  评论(0)    收藏  举报