mus*_*ole 6 python ssl android kivy aws-api-gateway
我一直在与通过AWS API Gateway托管的API绑定的Kivy应用程序中遇到HTTPS请求.首先,我从Python3转到2,然后从请求库转移到kivy的URLRequest.
该应用程序在我的Linux桌面上运行正常.当我使用请求库发出API请求时出现SSL错误:SSL23_GET_SERVER_HELLO:sslv3警报握手失败
我转而使用URLRequest,它似乎与请求具有相同的SSL错误.传递给URLRequest错误回调的参数是:(,SSLError(1,'_ssl.c:503:错误:14077410:SSL例程:SSL23_GET_SERVER_HELLO:sslv3警报握手失败'))
我发现了这个stackoverflow问题:SSL23_GET_SERVER_HELLO:sslv3警报握手失败[Kivy]
这意味着这与过时的python版本有关.
它只是一个Kivy Android应用程序无法与AWS API网关通信?
Buildozer .spec行:requirements = hostpython2,kivy,future,python-dateutil,openssl,pyopenssl,jmespath,botocore,boto3,requests
android.permissions = INTERNET
更新:我使用URL https://kivy.org/logos/kivy-logo-black-64.png测试了HTTPS GET请求.这在Android App中成功完成.此问题似乎特定于AWS API Gateway使用的SSL版本
UPDATE2:Android上的Kivy也适用于Google Cloud Platform的云端功能HTTPS端点.更多证据表明此问题与AWS API Gateway特别相关.
小智 1
确保您的 .spec 文件具有互联网权限。另外,我相信如果您使用 python2,您的要求中需要“hostpython2”。我不确定您的任何要求是否依赖于 python 2 或 3,但如果您使用的是 python 2,请确保它们适用于 python 2。另外,我认为您的请求要求中不需要[安全]。尝试只放入“请求”,您也可以尝试安装 sqlite 并将 g 添加到您的需求中。