gpt4 book ai didi

android - Kivy 中的 HTTPS 请求

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:35:48 26 4
gpt4 key购买 nike

我一直在与通过 AWS API 网关托管的 API 绑定(bind)的 Kivy 应用程序中处理 HTTPS 请求。首先,我从 Python3 转移到 2,然后从请求库转移到 kivy 的 URLRequest。

该应用程序在我的 Linux 桌面上运行良好。当我使用请求库发出 API 请求时,出现 SSL 错误:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

我转而使用 URLRequest,它似乎有与请求相同的 SSL 错误。传递给 URLRequest 错误回调的参数是:(, SSLError(1, '_ssl.c:503: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure'))

我发现了这个 stackoverflow 问题:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure [Kivy]

这意味着这与过时的 python 版本有关。

是否只是一个 Kivy android 应用程序无法与 AWS API 网关通信?

Buildozer .spec 行:requirements = hostpython2, kivy, future, python-dateutil, openssl, pyopenssl, jmespath, botocore, boto3, 请求

android.permissions = 互联网

更新:我用 URL https://kivy.org/logos/kivy-logo-black-64.png 测试了一个 HTTPS GET 请求.这在 Android 应用程序中成功完成。这个问题似乎是 AWS API Gateway 使用的 SSL 版本所特有的

更新 2:Android 上的 Kivy 也可以与 Google Cloud Platform 的云函数 HTTPS 端点一起正常工作。更多证据表明此问题与 AWS API Gateway 特别相关。

最佳答案

确保您的 .spec 文件具有互联网权限。另外,我相信如果您使用的是 python2,则您的要求中需要“hostpython2”。我不确定你在那里的任何要求是否依赖于 python 2 或 3,但如果你使用的是 python 2,请确保它们适用于 python 2。另外,我认为您的请求要求中不需要 [security]。尝试只输入“请求”,您也可以尝试安装 sqlite 并将 g 添加到您的要求中。

关于android - Kivy 中的 HTTPS 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52482148/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com