【发布时间】:2014-11-17 09:45:18
【问题描述】:
我需要从 PHP 网站 Curl 到目标机器无法解析的主机(curl_error 返回(6) couldn't resolve host)。不过,在我的本地机器上它是可以解决的,所以经过一些网络搜索后,我认为这可能是 DNS 缓存问题。
我只有 FTP 访问这个网络服务器,所以我不能restart Apache or edit the r.conf file。
我尝试使用从 ping 域获得的 IP 地址进行 Curling,但不幸的是,我需要向子域(例如 api.domain.com)发出请求,并且直接对 IP 地址的请求得到不同的处理。
我曾希望我可以在 Host 标头中指定子域+域(见下文),但这也不起作用。
$curl = curl_init();
$opt = array(
CURLOPT_URL => 'http://11.22.33.44/handler.php?params=1',
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_HTTPHEADER => array('Host: subdomain.domain.com')
);
curl_setopt_array($curl, $opt);
$output = curl_exec($curl);
【问题讨论】:
-
你能详细说明这个“行不通”吗?
-
它不起作用,因为似乎 Host 标头被忽略了。没有它我得到相同的结果。