通过代理进行 DNS 解析

通过代理进行 DNS 解析

我使用了一个非常反复无常的代理(squid),似乎只允许使用特定用户代理发出的 http 请求。

从 Google Chrome获取时google.com,我可以在 WireSharc 上看到HTTP GET。但是,wget它首先尝试通过默认 DNS 服务器解析 DNS,但默认 DNS 服务器从不响应。

我怎样才能创建wget甚至git使用代理来代替直接 DNS 查询?

答案1

我怎样才能让 wget 甚至 git 使用代理而不是直接 DNS 查询?

设置代理环境变量,它将直接执行此操作:

export http_proxy='http://proxy.contoso.com:3128/'
wget http://www.example.net/

答案2

没有机制来指定代理应尝试特定主机的特定 IP 地址。您可以将 URL 从以下位置更改为:http://example.com/mypagehttp://33.33.33.33/我的页面,但代理服务器不知道要请求的主机名。现代网络 (HTTP/1.1) 依赖于请求中始终存在的 Host 标头,从而允许一个网络服务器为由其主机名标识的多个站点提供服务。

最好的办法是将代理服务器配置为使用您选择的 DNS 解析器。只有当您使用您控制的本地代理服务器时才有可能。

资源 -https://askubuntu.com/questions/447877/how-to-resolve-the-dns-locally-when-there-is-a-proxy-configured

相关内容