Я пытаюсь открыть URL с помощью curl_init, но не смог получить правильный ответ. Я не могу поделиться точным URL со всеми вами из соображений безопасности.
Ниже мой код
$ch = curl_init("Site URL");
print_r($ch);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
$response = curl_exec($ch);
echo "Below is Responce <br/>";
echo $response;
print_r($response);
Ниже вывод
Resource id #2Below is Responce
Вывод не выдает никакой ошибки, даже если я использовал error_reporting (1), и ошибка отчета включена в настройке php веб-хостинга
Я также проверил журналы ошибок, но ничего.
Не могли бы вы помочь мне найти причину.
Выше код работает с разных серверов, но не с моего реального рабочего сервера.
Пожалуйста, помогите мне найти причину.
Вот рабочий код:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://xyz.curlinittest.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
$data = curl_exec($ch);
echo $data;
curl_close($ch);
?>
Вывод: Hello World
Ваш сторонний сервер отклонял запросы на основе user-agent.
Установите curl, чтобы он действовал так, как если бы это был firefox и .. tadaaa
Так что мой код правильный, поэтому нет необходимости предоставлять разрешение для того же. На самом деле я поднял TKT с моим хостинг-провайдером. Что касается связи с хостинг-провайдером, они подтверждают, что это проблема с сервером из-за блокировки порта 80. Я надеюсь, что это поможет другим. Поэтому блокировка портов также является проблемой, если ваш Curl_init не работает.