使用 curl --resolve 和 http 代理

Yoy*_*yoS 7 proxy curl http resolve

curl实用程序中有一个--resolve选项允许您添加 DNS 条目并在调用主机时强制使用某个 IP 地址。

由于版本 7.21.3 cURL 允许指定 IP 地址,从而为请求伪造主机名。

$ curl --resolve www.example.com:80:127.0.0.1 http://www.example.com/

--resolve 开关允许您告诉 curl 在解析给定主机名时请求哪个地址。在上面的代码片段中,cURL 使用 127.0.0.1 (localhost) 而不是通过 DNS 解析 www.example.com。

此选项在没有 http 代理的情况下使用时正常工作,DNS 条目可在缓存中找到。

问题是我想与 curl--proxy参数同时使用此选项。当设置最后一个参数时,调用同一主机时找不到 DNS 条目。

$ curl --proxy 1.2.3.4:80 --resolve www.example.com:80:127.0.0.1 http://www.example.com/
Run Code Online (Sandbox Code Playgroud)

知道如何解决这个问题吗?

我有一个想法,代理正在使用自己的 DNS 缓存,我们无法更改它,但也许我错了?