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 @   许伟强  阅读(712)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· Qt个人项目总结 —— MySQL数据库查询与断言
历史上的今天:
2019-04-22 PHP识别验证码-image-ocr
2018-04-22 Linux的PHP开发环境快速搭建
点击右上角即可分享
微信分享提示