http - Golang 错误 : Undefined: http. NewSingleHostReverseProxy

标签 http proxy go reverse-proxy

我尝试使用 Golang 构建一个简单的程序,这里是:

package main

import (
        "net/http"
        "net/http/httputil"
        "log"
)

func main(){

        proxy := http.NewSingleHostReverseProxy( &http.URL{Scheme:"http",Host:"www.google.com",Path:"/"})

        err := http.ListenAndServe(":8080", proxy)
        if err != nil {
                log.Fatal("ListenAndServe: ", err.String())
        }
}

构建:

go build myprogram.go

输出:

command-line-arguments
./myprogram.go:5: imported and not used: "net/http/httputil"
./myprogram.go:11: undefined: http.NewSingleHostReverseProxy
./myprogram.go:11: undefined: http.URL
./myprogram.go:15: err.String undefined (type error has no field or method String)

我注意到 http.NewSingleHostReverseProxy 在“net/http/httputil”包中,为什么我会看到这样的错误? 也许我需要一个特定的命令才能正确构建它?

编辑 之后,这是新的工作代码:

package main

import (
        "net/http"
        "net/http/httputil"
        "net/url"
        "log"
)

func main(){

        proxy := httputil.NewSingleHostReverseProxy( &url.URL{Scheme:"http",Host:"www.google.com",Path:"/"})

        err := http.ListenAndServe(":8080", proxy)
        if err != nil {
                log.Fatal("ListenAndServe: ", err)
        }
}

最佳答案

我加了

"net/url"

并将 http.NewSingleHostReverseProxy 替换为 httputil.NewSingleHostReverseProxy,同样 http.URLurl.URL

这是工作代码:

package main

import (
"net/http"
"net/http/httputil"
"net/url"
"log"
)

func main(){

proxy := httputil.NewSingleHostReverseProxy( &url.URL{Scheme:"http",Host:"www.google.com",Path:"/"})

err := http.ListenAndServe(":8080", proxy)
if err != nil {
        log.Fatal("ListenAndServe: ", err)
}
}

感谢 raina77ow 的帮助。

关于http - Golang 错误 : Undefined: http. NewSingleHostReverseProxy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19843335/

相关文章:

python - 如何异步处理 Tornado 中的流数据,同时同步处理响应代码?

http - 使用 curl --fail 获取页面输出

Node.js 服务器超时问题(EC2 + Express + PM2)

javascript - 如何使用 google client api (gapi) 使用 google fusion tables API 的 importrows 方法

javascript - asmx/js 的缓存不持久

go - 在 chromedp.ActionFunc 中赋值的变量不能被 SendKeys 输入

go - 对切​​片上的 append() 行为感到困惑

go - 在 golang 中准备好后从 stdout 管道读取

proxy - Notepad++ 插件管理器的服务器 URL 是什么?

c# - 如何从系统服务自动检测代理设置