使用curl --resolve 和http代理

问题描述 投票:0回答:1

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 缓存,我们无法更改它,但也许我错了?

http curl proxy resolve
1个回答
0
投票

如果您有权访问它,您还可以修改代理服务器中的/etc/hosts。

© www.soinside.com 2019 - 2024. All rights reserved.