2017-12-05 19 views
0

私はTelegram Botを管理するためにPHPを使用しています。基本的に電報は、このURLの中に彼らのボットからアップデートを取得するためにユーザーをすることができますすることができます機能を追加しました:今、私が知りたいPHPでWebページの内容を取得する方法

https://api.telegram.org/bot[TOKEN_NUMBER]

、私が検索するつもりボットは、存在しないか、または。

ですから、ボットの間違ったトークンの数、APIのページに戻りを入力するたびに、この:

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

そして、この代わりに、ページに戻りますが存在する場合:

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

あなたが私を見ることができるようにこのページの内容を取得して、ボットの存在を知るためにいくつかの変数を決定する必要があります。ですから、PHPでどうすればいいですか?

使用できる
+1

[curl](http://php.net/curl)、[file_get_contents](http://php.net/file_get_contents)を使用する方が簡単ですか? – hassan

答えて

0

迅速かつ簡単に2つのライナーを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 */} 
4

$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); 
?> 
+0

これで '$ ch = curl_init(" https://api.telegram.org/bot "。$ token。"/getUpdates ");'をテストしました。 '{" ok ":falseを書く代わりに、 "{" ok ":false、" error_code ":409、" description ":"衝突:webhookがアクティブな間にgetUpdatesメソッドを使用できません "}(これは私のボットアップデートの現在の状態です) error_code ":404、" description ":" Not Found "}' – wrephebiajou

+0

あなたのURL文字列をエコー/ var_dumpしようとすると、正しく書式化されますか?不足している '/'はありますか? – am05mhz

1

は(のfile_get_contentsを使用してみてください)、それはあなたのブラウザで同じURLを開いたときに表示何でも返します。また、あなたがもう一度、車輪を発明する必要がないように、そうComposer packagesを見ている可能性があり;)

関連する問題