2015-12-17 68 views
0

我写这只是返回的路径,Web客户端简单Go Web服务器:为什么IE和Chrome显示不同的内容?

package main 
import (
    "net/http" 
    "log" 
) 

type httpServer struct { 
} 

func (server httpServer) ServeHTTP(w http.ResponseWriter, r *http.Request) { 
    w.Write([]byte(r.URL.Path)) 
} 

func main() { 
    var server httpServer 
    http.Handle("/", server) 
    log.Fatal(http.ListenAndServe("localhost:9000", nil)) 
} 

使用IE网页浏览器,它会显示OK:
enter image description here

Chrome总是重定向另一个网站:
enter image description here

我怀疑它是与代理。但为什么IE还行,而Chrome不是?我认为他们应该使用相同的代理。

+0

您是否确定自己正在向Chrome浏览器输入相同的URL? –

+0

@TimBiegeleisen:是的。 –

+0

我不是Go专家,所以我可以给你的唯一建议是检查Go服务器访问日志。 –

回答

0

看样子你是从不同的主机上运行Chrome,是吗? (基于事实表明,不是本地主机的IP地址)

log.Fatal(http.ListenAndServe("localhost:9000", nil)) 

这意味着:听专门对127.0.0.1:9000(假设你的主机文件仍然本地主机分配到127.0.0.1作为是默认值)

有没有办法打从另一个箱子。

更改为:

log.Fatal(http.ListenAndServe(":9000", nil)) 

这将导致去服务器侦听本机的所有地址在其上运行。

或者,你说的是镀铬你输入“本地主机:9000”,并重定向从你试过在IE浏览器的同一台机器上16.155.255.10/apache-default?

+0

是的,当我输入“localhost:9000”时,它重定向到16.155.255.10/apache-default。 IE,Chrome和Web应用程序都在一台笔记本电脑上运行。 –

+0

这很奇怪。只能想到我能想到的是,你的Chrome是用某种代理或其他东西设置的。祝你好运! –

+2

如果这有帮助,16.155.255.10是一个hp.com地址。猜你的笔记本电脑是惠普品牌。我假设有一个插件或某种类型的代理拦截你的请求,但不是IE浏览器。如果您手动升级到Windows 10,惠普的设置可能会从IE下降,但Chrome会保留其设置。 –

相关问题