在Curl上阻止DNS查找(PHP)

时间:2015-05-12 17:00:22

标签: php curl dns

如何在Curl上阻止DNS查找?

所以,我认为有两种选择,有:

  1. 使用HTTP(或其他类型?)代理。但是,DNS Loockup将由代理商或原始'服务器?
  2. 例: curl_setopt($ ch,CURLOPT_PROXY,' 0.0.0。');

    1. 为域设置默认DNS。在Windows中,有一个" ETC / HOSTS"文件,但它在Centos上的位置?我如何在CURL中设置此默认值?因为CURL将继续尝试找到DNS。
    2. 这会有效吗?

      谢谢大家。 :)

1 个答案:

答案 0 :(得分:2)

如果您尝试强制请求的服务器不是DNS指定的服务器,那么<​​em>可以 /etc/hostsC:\Windows\System32\drivers\etc\hosts OR 你可以通过手动设置主机头来完全通过cURL完成。

$hostname = 'www.mydomain.com';
$ip = '1.2.3.4';
$proto = 'http';
$request = '/foo/bar/index.php';

$url = sprintf('%s://%s%s', $proto, $ip, $request); // http://1.2.3.4/foo/bar/index.php

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Host: '.$hostname]);
curl_exec($ch);