使用ngrok通过HTTP /代理连接到Telegram Bot API

时间:2018-12-24 13:55:49

标签: php telegram-bot ngrok

首先,电报在我国被屏蔽。由于某些原因,我无法使用VPN,因此我尝试通过HTTP / SOCKS5代理与Telegram's bot API连接ngrok

我测试了以下方法,但没有一个起作用:

  1. 我在ngrok设置文件中设置了http_proxysocks5,但是PHP仍然无法连接到Telegram API:

    $url="https://api.telegram.org/botToken/getUpdates";
    $json = file_get_contents($url);
    file_put_contents('json.txt', $json);
    

    结果:

    failed to open stream: No connection could be made because the target machine actively refused it
    
  2. cURL代理:

    $url="https://api.telegram.org/botToken/getUpdates";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_PROXY, 'socks5://127.0.0.1:9050');// Using tor bundler proxy
    curl_setopt($ch, CURLOPT_URL,$url);
    $result=curl_exec($ch);
    curl_close($ch);
    var_dump(json_decode($result, true));
    

    返回NULL

注意:以上脚本仅在我打开VPN时有效

有人有更好的主意吗?

1 个答案:

答案 0 :(得分:1)

使用'socks5h://127.0.0.1:9050'代替'socks5://127.0.0.1:9050'

curl_setopt($ch, CURLOPT_PROXY, 'socks5h://127.0.0.1:9050')