Python 3.x 我有一个瓶子。无论谁使用这个api,我都应该通过使用flask和python跟踪他们的ip地址来限制他们的调用
我有一个API,无论谁点击这个API,我都应该通过跟踪他们的IP地址来限制他们的调用。如果一个用户第二次点击我的API,我应该减少他们的调用。他们可以从手机或系统上点击我的API。使用flask和python,请给我任何建议或教程。提前谢谢 我尝试了这个代码,但我只能跟踪他们的公共IP,我希望他们的本地IP和公共IPPython 3.x 我有一个瓶子。无论谁使用这个api,我都应该通过使用flask和python跟踪他们的ip地址来限制他们的调用,python-3.x,flask,Python 3.x,Flask,我有一个API,无论谁点击这个API,我都应该通过跟踪他们的IP地址来限制他们的调用。如果一个用户第二次点击我的API,我应该减少他们的调用。他们可以从手机或系统上点击我的API。使用flask和python,请给我任何建议或教程。提前谢谢 我尝试了这个代码,但我只能跟踪他们的公共IP,我希望他们的本地IP和公共IP @app.route('/api.text-services/sentiment', methods=['GET']) @cross_origin() def Demoapi():
@app.route('/api.text-services/sentiment', methods=['GET'])
@cross_origin()
def Demoapi():
ipaddress=request.remote_addr
Result:106.XX.XX.XX(Public IP)
app.wsgi_app = ProxyFix(app.wsgi_app)
@app.route('/api.text-services/sentiment', methods=['GET'])
@cross_origin()
def Demoapi():
ipaddress=request.environ.get('HTTP_X_REAL_IP', request.remote_addr)
结果:106.XX.XX.XX(公共IP)
结果:106.XX.XX.XX(公共IP)
我希望使用flask和python得到的结果是106.XX.XX.XX(公共IP)_10.0.XX.XXX(本地IP)。用户从哪个系统点击我的API,我应该能够使用flask和python跟踪该系统的公共IP和本地IP。您试图实现的是速率限制视图。您可以使用不同的方法对视图进行分级限制
当然,可能还有其他方法来设置Flask路由的调用限制,但这些是我到目前为止遇到的最常见的方法。希望这有帮助。谢谢,实际上,我正在限制呼叫,但我无法同时跟踪公共IP和本地IP地址。我只能跟踪公共IP地址。我想通过跟踪不同用户的IP地址来识别他们的点击率。例如:五个成员使用相同的网络但不同的系统,我应该知道哪个请求来自哪个系统跟踪它们的公共和私有IP地址。如果您在公共internet上运行应用程序,使用IP限制速率实际上是错误的。最好考虑实现客户端API密钥和基于密钥的限制。例如,查看twitterapi。即使您可以获得用户的私有IP(我相信除非您拥有网络,否则这是不可能的),您仍然会有重复的地址。私有IP地址是从预定义的A类、B类和C类地址集中选择的。因此,几乎可以肯定的是,几个用户的私有IP为192.168.0.1或10.0.0.5。
@app.route('/api.text-services/sentiment', methods=['GET'])
@cross_origin()
def Demoapi():
ipaddress=origin=request.headers.get('X-Forwarded-For', request.remote_addr)