File_get_contents возвращает: извините! что-то пошло не так

Я использовал функцию file_get_contents для получения контента с веб-сайта. но просто увидеть сообщение «извините! что-то пошло не так».

Мой код здесь:

<?php
$kkk = 'https://batdongsan.com.vn/phan-tich-nhan-dinh/thi-truong-can-ho-cao-cap-can-mot-su-sang-loc-khat-khe-ar97716';
$ddd = file_get_contents($kkk);
echo $ddd;    
?>

Можете ли вы помочь мне объяснить эту ошибку или любую идею

большое спасибо!

Это ответ с их сайта. Не используйте file_get_contents.

aynber 13.02.2019 17:35
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
1
253
1

Ответы 1

Да, file_get_contents() возвращает сообщение «извините, что-то пошло не так». для меня также. Выполните вызов API, используя РНР-КОРЛ. Попробуем так-

Примечание:

URL which is not retrieved by file_get_contents(), because their server checks whether the request come from browser or any script?. If they found request from script they simply disable page contents.

So that you have to make a request similar as browser request. PHP Curl is suitable choice for this kind of job. See here

<?php
$curl = curl_init();
curl_setopt_array($curl, array(
  CURLOPT_URL => "https://batdongsan.com.vn/phan-tich-nhan-dinh/thi-truong-can-ho-cao-cap-can-mot-su-sang-loc-khat-khe-ar97716",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_POSTFIELDS => "",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

Спасибо за ваш ответ! Но я что-то упустил. этот код может работать с любым доменом. но с этим доменом "batdongsan.com.vn" просто возвращается "извините! Что-то пошло не так".

Nguyen Loc 14.02.2019 03:18

@NguyenLoc Я предполагаю, что в этом домене что-то настроено для запроса file_get_contents() или http извне, поэтому мы получаем этот ответ

Always Sunny 14.02.2019 03:21

Другие вопросы по теме