如何使用golang实现可透传原请求的header的反向代理
展开全部
优雅的Golang Web开发框架:Martini
Martini 是一个非常新的 Go 语言的 Web 框架,使用 Go 的 net/http 借口开发,类似 Sinatra 或者 Flask 之类的框架,你可使用自己的 DB 层、会话管理和模板。
特性:
使用非常简单
无侵入设计
可与其他 Go 的包配合工作
超棒的路径匹配和路由
模块化设计,可轻松添加工具
大量很好的处理器和中间件
很棒的开箱即用特性
完全兼容 http.HandlerFunc 接口.
示例代码:
01 package main
02
03 import "github.com/codegangsta/martini"
04
05 func main() {
06 m := martini.Classic()
07 m.Get("/", func() string {
08 return "Hello world!"
09 })
10 m.Run()
11 }
请求处理器:
查看源码打印?
1 m.Get("/", func() {
2 println("hello world")
3 })
4
5 m.Get("/", func(res http.ResponseWriter, req *http.Request) { // res and req are injected by Martini
6 res.WriteHeader(200) // HTTP 200
7 })
Martini 是一个非常新的 Go 语言的 Web 框架,使用 Go 的 net/http 借口开发,类似 Sinatra 或者 Flask 之类的框架,你可使用自己的 DB 层、会话管理和模板。
特性:
使用非常简单
无侵入设计
可与其他 Go 的包配合工作
超棒的路径匹配和路由
模块化设计,可轻松添加工具
大量很好的处理器和中间件
很棒的开箱即用特性
完全兼容 http.HandlerFunc 接口.
示例代码:
01 package main
02
03 import "github.com/codegangsta/martini"
04
05 func main() {
06 m := martini.Classic()
07 m.Get("/", func() string {
08 return "Hello world!"
09 })
10 m.Run()
11 }
请求处理器:
查看源码打印?
1 m.Get("/", func() {
2 println("hello world")
3 })
4
5 m.Get("/", func(res http.ResponseWriter, req *http.Request) { // res and req are injected by Martini
6 res.WriteHeader(200) // HTTP 200
7 })
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
Storm代理
2023-08-29 广告
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询