为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 httputil.NewSingleHostReverseProxy

为什么 httputil.NewSingleHostReverseProxy

Go
繁星点点滴滴 2021-10-25 18:19:50
在下面的例子中:package mainimport (    "fmt"    "log"    "net/http"    "net/http/httputil"    "net/url")func main() {    p := new(Proxy)    //host := "www.google.com" // WORKS AS EXPECTED    host := "www.apple.com" // GIVES AN ERROR    u, err := url.Parse(fmt.Sprintf("http://%v/", host))    if err != nil {        log.Printf("Error parsing URL")    }    p.proxy = httputil.NewSingleHostReverseProxy(u)    http.Handle("/", p)    log.Fatal(http.ListenAndServe("localhost:8000", nil))}type Proxy struct {    proxy *httputil.ReverseProxy}func (p *Proxy) ServeHTTP(w http.ResponseWriter, r *http.Request) {    p.proxy.ServeHTTP(w, r)}将 Chrome 指向“localhost:8000”时,将“www.google.com”与“www.apple.com”交换会导致此错误:无效的网址请求的 URL“/”无效。参考 #9.a61a32b8.1438231668.41733295做更多的挖掘,对于 www.apple.com,我得到:➜  ~  curl --ipv4 -v localhost:8000< HTTP/1.1 400 Bad Request< Content-Length: 194< Content-Type: text/html< Date: Thu, 30 Jul 2015 05:20:38 GMT< Expires: Thu, 30 Jul 2015 05:20:38 GMT< Mime-Version: 1.0* Server AkamaiGHost is not blacklisted< Server: AkamaiGHost< <HTML><HEAD><TITLE>Invalid URL</TITLE></HEAD><BODY><H1>Invalid URL</H1>The requested URL "&#47;", is invalid.<p>Reference&#32;&#35;9&#46;65b454b8&#46;1438233638&#46;1f1b8a40</BODY></HTML>* Connection #0 to host localhost left intact对于 www.google.com:➜  ~  curl --ipv4 -v localhost:8000< HTTP/1.1 302 Found< Alternate-Protocol: 80:quic,p=0< Cache-Control: private< Content-Length: 219< Content-Type: text/html; charset=UTF-8< Date: Thu, 30 Jul 2015 05:03:16 GMT< Location: http://www.google.com/* Server sffe is not blacklisted< Server: sffe< X-Content-Type-Options: nosniff< X-Xss-Protection: 1; mode=block< <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8"><TITLE>302 Moved</TITLE></HEAD><BODY><H1>302 Moved</H1>The document has moved<A HREF="http://www.google.com/">here</A>.</BODY></HTML>* Connection #0 to host localhost left intact
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 251 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信