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

时间:2016-01-14 09:02:28

标签: python flask

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

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

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

2 个答案:

答案 0 :(得分:2)

您可以从request.environ

获取
request.environ.get('REMOTE_PORT')

答案 1 :(得分:2)

如果Flask位于反向代理之后,

request.environ.get('REMOTE_PORT')

给您您想要的东西,您将获得港口 由反向代理使用。

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

<pre><codeserver {
    listen 80;
    server_name _;
    location / {
        proxy_pass ...;
        <b>proxy_set_header WHATEVER $remote_port;</b>
    } } </code></pre>

然后您可以使用:

request.headers.get('WHATEVER')