在某些场景下*,我们使用 file_get_contents 时不可请求域名地址,只能直接请求其IP,但又必须传递host参数,应该怎么做呢?
*例如:
源站向同一域名的CDN服务器请求刷新某内容时,
若此前源站因某些需要已在hosts中将该域名指向本地,
此时 file_get_contents 直接请求域名将连接本机而无法连接到CDN服务器。
我们可以改为请求CDN服务器的IP地址,并带上host参数。以下代码仅供参考。
`$hostname = stream_context_create(array('http' => array('header' => 'Host: www.xxx.com')));
file_get_contents('https://123.123.123.123/xxx.php?xxx=xxx'), NULL, $hostname);`