ListenAndServe 函数用于启动一个 HTTP 服务器,并监听指定的地址和端口。它并不直接提供代理功能,而是用于处理客户端的请求。
如果你想要实现一个代理服务器,可以使用 net/http 包中的 ReverseProxy 类型。通过创建一个新的 ReverseProxy 实例,并将其传递给 http.Handle() 或 http.HandleFunc() 函数来进行处理。
以下是一个简单的示例代码:
package main
import (
"log"
"net/http"
"net/http/httputil"
)
func main() {
targetURL := "http://example.com"
proxy := httputil.NewSingleHostReverseProxy(&url.URL{
Scheme: "http",
Host: targetURL,
})
http.Handle("/", proxy)
err := http.ListenAndServe(":8080", nil)
if err != nil {
log.Fatal(err)
}
}
上述代码会创建一个反向代理服务器,所有进来的请求都会被转发到指定的目标地址(这里是 http://example.com)。你可以根据需要修改 targetURL 的值来指定要代理的目标地址。
内容由零声教学AI助手提供,问题来源于学员提问




