file_get_contents 403 Запрещено в некоторых ссылках - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь сделать это

$str = '{ "Json": ' . file_get_contents("http://studiofutbol.com.ec/?feed=json") . '}';

, но постоянно получаю сообщение об ошибке: не удалось открыть поток: не удалось выполнить HTTP-запрос! HTTP / 1.1 403 Запрещено, и когда я попытался использовать curl для получения контента, я получил сообщение, что я забанен. Что странно, что я могу сделать:

$str = '{ "Json": ' . file_get_contents("http://studiofutbol.com.ec/") . '}';

Без проблем, и я получаю весь контент. Интересно, что может происходить с "http://studiofutbol.com.ec/?feed=json" по этой ссылке.

Я также пытался $ str = '{"Json":'. file_get_contents ("http://studiofutbol.com.ec/?feed=json"). '}'; с другого совершенно другого сервера, и это сработало, так что же может происходить?

Кстати, я администратор сервера. Я использую cloudflare, и это, как вы можете видеть, сайт WordPress.

PD: Я только что установил wprocket и сразу же заметил это.

РЕДАКТИРОВАТЬ: Теперь я использую $ str = '{"Json":'. file_get_contents ("http://127.0.0.1/?feed=json"). '}'; и это работает, но мне все еще интересно, что происходит с запрещенными вещами

1 Ответ

0 голосов
/ 23 апреля 2020

Да, некоторые хостинг-провайдеры ограничивают функцию file_get_contents(). Вместо этого вы должны использовать

wp_remote_get("http://studiofutbol.com.ec/")
...