Ответ 1
Попробуйте следующее:
$ch = curl_init("http://www.example-webpage.com/file.html");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
$content = curl_exec($ch);
curl_close($ch);
Я бы рекомендовал это только для небольших файлов. Большие файлы читаются в целом и могут вызвать ошибку памяти.
edit: после некоторого обсуждения комментариев мы выяснили, что проблема заключается в том, что servercouldnt разрешает имя хоста, а страница дополнительно содержит https-ресурс, поэтому здесь появляется ваше временное решение (до тех пор, пока ваш serveradmin не исправляет разрешение имен).
то, что я сделал, просто pinging graph.facebook.com, чтобы увидеть ip-адрес, заменить имя хоста на ip-адрес и вместо этого дать заголовок вручную. это, тем не менее, делает ssl-сертификат недействительным, поэтому нам нужно подавить проверку сверстников
//$url = "https://graph.facebook.com/19165649929?fields=name";
$url = "https://66.220.146.224/19165649929?fields=name";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Host: graph.facebook.com'));
$output = curl_exec($ch);
curl_close($ch);
Имейте в виду, что адрес ip может измениться, и это источник eror. вы должны также выполнять некоторую обработку ошибок с помощью curl_error();