今天找http代理的例子,一直没找到满意的,终于在github上找到一个,非常的精简,非常的入眼,记录一下。
package main
import (
"net/http"
"net/http/httputil"
"log"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
director := func(req *http.Request) {
req = r
req.URL.Scheme = "http"
req.URL.Host = r.Host
}
proxy := &httputil.ReverseProxy{Director: director}
proxy.ServeHTTP(w, r)
})
log.Fatal(http.ListenAndServe(":8888", nil))
}
出处:https://gist.github.com/montanaflynn/304aa58b188f036204af