You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何通过Web浏览器向远程服务器(IP)发送POST请求?及Telegram Bot邮件验证的服务器请求发送方案咨询

刚好我之前做过类似的Telegram Bot验证功能,来帮你一步步解决这两个问题:


1. 如何通过Web浏览器向远程服务器(IP地址)发送POST请求?

不需要复杂工具,浏览器本身就有几种简单方法:

  • 方法一:开发者工具控制台直接发送
    打开浏览器开发者工具(按F12Ctrl+Shift+I),切换到「Console」标签,用JavaScript的Fetch API写一段请求代码就行。举个实际例子:

    fetch('http://你的服务器IP:端口号/自定义路径', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({ telegram_id: 123456, action: 'verify' }), // 替换成你要传的数据
    })
    .then(res => res.text())
    .then(data => console.log('服务器响应:', data))
    .catch(err => console.error('请求出错:', err));
    

    注意:如果服务器用HTTPS,要把http换成https,同时确保服务器的端口已经在VPS防火墙里放行。

  • 方法二:临时HTML表单提交
    写个简单的本地HTML文件,用表单触发POST请求:

    <form action="http://你的服务器IP:端口号/脚本路径" method="POST">
      <input type="hidden" name="telegram_id" value="用户的TelegramID">
      <button type="submit">发送验证请求</button>
    </form>
    

    保存后用浏览器打开,点击按钮就能直接发送POST请求到服务器。

  • 方法三:重放已有请求
    如果之前有过请求记录,在开发者工具的「Network」标签里找到目标请求,右键选「Copy」→「Copy as fetch」,粘贴到控制台修改参数后执行,也能快速发送POST请求。


2. Telegram Bot邮件验证:无需完整网站,直接用脚本处理请求

先给你吃个定心丸:完全不需要搭建完整网站,只要在VPS上运行一个能接收HTTP请求的轻量脚本就行。核心思路是让脚本监听某个端口,处理来自验证按钮的请求。

具体步骤:

第一步:在VPS上部署轻量HTTP服务脚本

推荐用Python的Flask框架(轻量、易上手),步骤如下:

  1. 安装Flask:pip install flask
  2. 写一个处理验证请求的脚本(比如命名为bot_verify.py):
    from flask import Flask, request, jsonify
    
    app = Flask(__name__)
    
    # 定义处理验证请求的路由
    @app.route('/verify-user', methods=['POST'])
    def handle_verify():
        # 获取请求里的Telegram ID(支持表单或JSON格式)
        telegram_id = request.form.get('telegram_id') or request.json.get('telegram_id')
        if not telegram_id:
            return jsonify({"status": "fail", "msg": "缺少Telegram账号信息"}), 400
    
        # 这里写你的核心逻辑:比如把用户ID加入待批准列表
        # 示例:写入本地文件记录
        with open('pending_users.txt', 'a', encoding='utf-8') as f:
            f.write(f"{telegram_id}\n")
    
        # 返回给用户的响应
        return jsonify({"status": "success", "msg": "验证请求已提交,请等待管理员批准"}), 200
    
    if __name__ == '__main__':
        # 让脚本监听所有外部IP,端口选5000(记得防火墙放行)
        app.run(host='0.0.0.0', port=5000, debug=False)
    
  3. 后台运行脚本:用nohup python bot_verify.py &,这样关闭终端后脚本也能继续运行;或者配置systemd服务,更稳定。

第二步:生成验证按钮的链接

给用户发邮件时,把验证按钮指向你的VPS IP+端口+路由。为了更友好,你可以做一个自动提交的HTML页面(直接嵌入邮件或者托管到免费静态空间):

<!DOCTYPE html>
<html>
<body>
  <p>正在验证你的Telegram账号,请稍候...</p>
  <form id="verifyForm" action="http://你的VPS_IP:5000/verify-user" method="POST">
    <input type="hidden" name="telegram_id" value="用户的TelegramID">
  </form>
  <script>
    // 页面加载后自动提交表单
    window.onload = () => {
      document.getElementById('verifyForm').submit();
    };
  </script>
</body>
</html>

用户点击邮件里的按钮,就会跳转到这个页面,自动向你的VPS脚本发送POST请求。

第三步:处理批准逻辑

脚本收到请求后,你可以定时查看pending_users.txt,然后手动把用户ID加入Bot的白名单;也可以扩展脚本,比如当有新请求时,用Telegram Bot给你发一条提醒消息,让你一键批准。

安全小贴士:

  • 建议给服务配置HTTPS(用Let's Encrypt免费证书),避免数据被拦截,Flask可以配合Nginx+Gunicorn实现。
  • 不要用debug=True运行生产环境脚本,避免安全漏洞。
  • 可以给请求加个密钥参数(比如?key=你的自定义密钥),防止恶意请求。

内容的提问来源于stack exchange,提问作者Almaz Suleymanov

火山引擎 最新活动