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/
知道如何解决这个问题吗?
我知道代理正在使用自己的DNS缓存,我们无法更改它,但也许我错了?
答案 0 :(得分:0)
如果您有权访问它,还可以在代理服务器中修改/ etc / hosts。