【问题标题】:How to use Flask get client's port?如何使用 Flask 获取客户端的端口?
【发布时间】:2016-04-19 12:40:27
【问题描述】:

我正在尝试使用 Flask 构建一个简单的种子跟踪器,但遇到了一个问题。

如果客户端在NAPT网络中,请求中包含的端口不正确。我想用 Flask 获取客户端连接端口(在 PHP 中类似这个函数:$_SERVER['REMOTE_PORT'])。

如何使用 Flask 获取客户端端口?

【问题讨论】:

    标签: python flask


    【解决方案1】:

    如果 Flask 在反向代理之后,

    request.environ.get('REMOTE_PORT')
    

    不会给你你想要的,你会得到端口 由反向代理使用。

    如果使用 Nginx,请将此 粗体 行添加到您的配置文件中:

    server {
        listen 80;
        server_name _;
        location / {
            proxy_pass ...;
            proxy_set_header WHATEVER $remote_port;
        } 
    } 

    然后你就可以得到客户端端口了:

    request.headers.get('WHATEVER')
    

    【讨论】:

      【解决方案2】:

      您可以从request.environ获取它

      request.environ.get('REMOTE_PORT')
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-11
        • 2012-10-31
        • 2015-08-04
        • 1970-01-01
        • 1970-01-01
        • 2011-01-08
        相关资源
        最近更新 更多