首先,电报在我国被屏蔽。由于某些原因,我无法使用VPN,因此我尝试通过HTTP / SOCKS5代理与Telegram's bot API连接ngrok。
我测试了以下方法,但没有一个起作用:
我在ngrok设置文件中设置了http_proxy
和socks5
,但是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
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时有效
有人有更好的主意吗?
答案 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')