当您使用HTTP代理配置http.Client In Go时,Go如何处理DNS请求?

我怀疑解析的名称是本地的,then请求是代理的.

对吗?或者,该DNS请求也以某种方式被代理通过?

    proxiedClient := &http.Client{
        Transport: &http.Transport{
            Proxy: http.ProxyURL(proxyURL),
        },
    }

推荐答案

除非在代码中使用了一个DNS库来显式地以非本地行为执行DNS查询,否则将在本地完成.

一旦主机名被dns(通常是本地的)解析,那么http.Client就可以用来代理实际的http/S请求

Go相关问答推荐

困扰围棋官方巡回赛的S建议所有方法都使用同一类型的接收器

go grpc:无法导入github.com/golang/protobuf/proto(没有所需的模块提供包github.com/gorang/protobuf-proto)

如何在出现错误时停止从通道读取?

在运行时更改 Go lang slog 的日志(log)级别

如何获取集群外go Kubernetes客户端的当前命名空间?

是否需要手动调用rand.Seed?

这是泛型的有效用例吗?

正确的 shell 程序进入 golang alpine docker 容器的入口点?

io.Reader 无限循环与 fmt.Fscan

Gremlin-Go:树步骤不可序列化

动态 SQL 集 Golang

有没有办法约束(通用)类型参数?

我在 go 中制作的递归函数有什么问题?

拆分文本并按空格获取字符串数组,如果文本长度超过 500,则获取字符串数组

为什么在单独的 go routine 中需要 wg.Wait() 和 close() ?

未定义 protoc protoc-gen-go 时间戳

Golang:隐式 struct 匹配

具有近似约束的函数值导致的实例化失败

获取单调时间,同 CLOCK_MONOTONIC

Go 语言的select语句