Как получить содержимое веб-страницы с помощью PHP

Я работаю с PHP, чтобы управлять своим Telegram Bot. В основном Telegram добавил функцию, которая позволяет пользователям получать обновления от своих ботов в этом URL:

https://api.telegram.org/bot

Теперь я хочу знать, бот, который я собираюсь искать, существует или нет.

Поэтому, когда вы вводите неправильный номер токена бота, страница API возвращает это:

{"ok":false,"error_code":401,"description":"Unauthorized"}

И если существует, страница возвращает это вместо:

{"ok":true,"result":[]}

Как видите, мне нужно получить содержимое этой страницы и определить некоторые переменные, чтобы узнать о существовании бота. Итак, как я могу сделать это с PHP?

3 ответа

Решение

Быстрое и простое использование двух вкладышей get_headers

$headers=get_headers('https://api.telegram.org/bot/12345');
$active=$headers[0]=='HTTP/1.1 404 Not Found' ? false : true;

Вы можете использовать $active в тесте логической логики, чтобы продолжить обработку или прервать.

if( $active ){/* do stuff */} else {/* go to the pub */}

Ты можешь использовать:

$content = file_get_contents($url);

или используйте cURL http://php.net/manual/en/curl.examples-basic.php

<?php

$ch = curl_init("http://www.example.com/");
$fp = fopen("example_homepage.txt", "w");

curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);

curl_exec($ch);
curl_close($ch);
fclose($fp);
?>

Попробуйте использовать file_get_contents(), он вернет все, что вы увидите при открытии того же URL в вашем браузере. Вы также можете взглянуть на пакеты Composer, которые делают это, так что вам не придется изобретать колесо еще раз;)

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