在我的Android模拟器中,我能够联系GAE开发服务器.
我用这个网址:“http://10.0.2.2:8080/myurl”.
服务器正在监听http://127.0.0.1:8080.
然后,在我使用Google Play(API 27)将模拟器更新为Nexus 5X版本后,连接失败,服务器显示此日志:
ERROR 2018-01-11 11:17:05,463 wsgi_server.py:329] Request Host 10.0.2.2 not whitelisted. Enabled hosts are set([‘127.0.0.1’])
我正在使用最新的GAE python SDK和webapp2.
有关如何解决问题的任何想法?
解决方法:
较新版本的开发服务器包括对传入请求的源IP地址的白名单检查.
您可以使用GAE devserver的–enable_host_checking = False命令行选项来禁用这些检查.如果您在不受信任的网络上运行,那不是一个好主意.
即使从同一台计算机访问devserver,您可能也会看到此类错误.这些请求的另一个选择是使用–host 10.0.2.2 devserver选项(即使用机器的外部IP地址而不是localhost / 127.0.0.1,但如果您运行的话,这对模拟器请求没有帮助在其他一些机器上的模拟器.
理想情况下,白名单应该可以独立于服务器的IP地址进行管理,但这是目前可用的.