我无法对Telegram进行LongPolling查询。
这是我的代码:
$ch = curl_init();
(intval($this->offset) !== 0) ? $post_data['offset'] = $this->offset : NULL;
$options = array(
CURLOPT_URL => $this->api_url . $this->method,
CURLOPT_HEADER => false,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CONNECTTIMEOUT => 0,
CURLOPT_TIMEOUT => 0,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $post_data,
);
curl_setopt_array($ch, $options);
$response = json_decode(curl_exec($ch));
api_url
是正确的,方法是getUpdates
所以应该没问题,但Telegram会立即返回我,结果如下:
object(stdClass)#2 (2) {
["ok"]=>
bool(true)
["result"]=>
array(0) {
}
}
我做错了什么?据我所知 - 查询不应该返回空结果?
答案 0 :(得分:1)
似乎Telegram文档在论证超时的贬值中存在误解。
timeout - Timeout in seconds for long polling. Defaults to 0, i.e. usual short polling. Should be positive, short polling should be used for testing purposes only.
为timeout > 0
查询添加 POST 属性getUpdates
,以使其进行长轮询。
答案 1 :(得分:0)
答案 2 :(得分:0)
我知道这是一个老问题,购买也许可以帮助某人。实际上,在ReactPHP中,您可以在PHP中使用长轮询模式。看看this。