dongshan4316 2013-11-07 18:03
浏览 102
已采纳

Golang错误:未定义:http.NewSingleHostReverseProxy

I tried building a simple program using Golang, here it is:

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())
        }
}

Build:

go build myprogram.go

Output:

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)

I noticed that http.NewSingleHostReverseProxy is in the "net/http/httputil" package, so why did I see such errors? Maybe I need a specific command to build it correctly?

EDIT Afterwords, here is the new working code:

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)
        }
}
  • 写回答

1条回答 默认 最新

  • dongling3243 2013-11-08 03:34
    关注

    I added

    "net/url"
    

    And replaced http.NewSingleHostReverseProxy with httputil.NewSingleHostReverseProxy, also http.URL with url.URL.

    This is the working code:

    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)
    }
    }
    

    Thanks to raina77ow for help.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?