每当我尝试使用file_get_contents()
抓取网页内容时,该网域中都包含unicode字符,我就明白了:
file_get_contents(https://møller.dk/):无法打开流:php_network_getaddresses:getaddrinfo failed:>文件位置<
中未知的服务名称
只有在域中有unicode字符时才会发生这种情况。这是一个例子:
file_get_contents("http://møller.dk/");
答案 0 :(得分:5)
答案 1 :(得分:2)
您可以使用编码/解码IDNA名称的Punycode:
$Punycode = new Punycode();
$baseUrl = 'ærlig.no';
$url = 'http://'.$Punycode->encode($baseUrl);
echo file_get_contents($url);