如何使用 PHP 获取网页内容
How to get contents of a webpage with PHP
我正在与 PHP 合作管理我的 Telegram 机器人。基本上 Telegram 添加了一个功能,可以让用户从他们的机器人中获取更新 url:
https://api.telegram.org/bot[TOKEN_NUMBER]
现在我想知道,我要搜索的机器人是否存在。
因此,每当您输入错误的机器人令牌编号时,API 页面 returns 这个:
{"ok":false,"error_code":401,"description":"Unauthorized"}
如果页面存在 returns,则改为:
{"ok":true,"result":[]}
如您所见,我必须获取此页面的内容并确定一些变量才能知道机器人的存在。那么,我怎样才能用 PHP 做到这一点?
您可以使用:
$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(),它会 return 您在浏览器中打开相同 URL 时看到的任何内容。您还可以查看这样做的 Composer packages,这样您就不必再重新发明轮子了;)
使用 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 */}
我正在与 PHP 合作管理我的 Telegram 机器人。基本上 Telegram 添加了一个功能,可以让用户从他们的机器人中获取更新 url:
https://api.telegram.org/bot[TOKEN_NUMBER]
现在我想知道,我要搜索的机器人是否存在。
因此,每当您输入错误的机器人令牌编号时,API 页面 returns 这个:
{"ok":false,"error_code":401,"description":"Unauthorized"}
如果页面存在 returns,则改为:
{"ok":true,"result":[]}
如您所见,我必须获取此页面的内容并确定一些变量才能知道机器人的存在。那么,我怎样才能用 PHP 做到这一点?
您可以使用:
$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(),它会 return 您在浏览器中打开相同 URL 时看到的任何内容。您还可以查看这样做的 Composer packages,这样您就不必再重新发明轮子了;)
使用 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 */}