android - Qt Android App 无法通过 XMLHttpRequest 连接到互联网

标签 android json qt ssl

这是一个奇怪的习惯,我不知道如何改正它。这是发生了什么。

  • 已编写 Qt android 应用程序(主要使用 QML,复杂的计算部分已用 C++ 编写)并且一切都在一部手机/平板电脑上完美运行,但 不在别人身上。
  • 它适用于 android 手机/平板电脑版本 5 (lollipop),但似乎不适用于 android 版本 6 (marshmallow)。
  • 不起作用的是我从 Thingspeak 读取 JSON 数据的部分 使用 JavaScript 的 XMLHttpRequest。如上所述,它完美地工作 在一部手机/平板电脑上,但不在其他手机/平板电脑上。
  • 关于无法正常工作的手机/平板电脑,我唯一的线索就是这个

qt.network.ssl: QSslSocket: 无法解析 CRYPTO_free

qt.network.ssl: QSslSocket: 无法解析 EVP_rc2_cbc

qt.network.ssl: QSslSocket: 无法解析 SSLv2_client_method

qt.network.ssl: QSslSocket: 无法解析 SSLv2_server_method

qt.network.ssl: QSslSocket: 无法解析 EC_get_builtin_curves

qt.network.ssl: QSslSocket: 无法解析 EC_curve_nist2nid

qt.network.ssl: QSslSocket: 无法调用未解析的函数 EC_get_builtin_curves

qt.network.ssl: QSslSocket: 无法调用未解析的函数 EC_get_builtin_curves

  • 因此,读取 JSON 部分给出了“JSON.parse:解析错误”
  • 据我所知,Qt 负责应用程序的所有基本模块和权限。所以我怀疑这是否是互联网许可,但某些手机/平板电脑怎么会工作得很好。那就是我 想知道。任何人都可以分享这方面的一些经验......
  • 如有任何帮助,我们将不胜感激...

最佳答案

我可能找到了一点线索......

From here

Android is moving away from OpenSSL to the BoringSSL library. If you’re using the Android NDK in your app, don't link against cryptographic libraries that are not a part of the NDK API, such as libcrypto.so and libssl.so. These libraries are not public APIs, and may change or break without notice across releases and devices. In addition, you may expose yourself to security vulnerabilities. Instead, modify your native code to call the Java cryptography APIs via JNI or to statically link against a cryptography library of your choice.

关于android - Qt Android App 无法通过 XMLHttpRequest 连接到互联网,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42476050/

相关文章:

android - Android PhoneGap 中的 Google+ 集成

android - 自定义对话框 fragment

c++ - 使用客户的电子邮件应用程序发送带附件的电子邮件

java - 在 RecyclerView 中从 Firebase 加载图像时出现问题

android - NestedScrollView 中 RecyclerView 的滚动问题

javascript - 使用 JQuery 从 PHP 获取 JSON 响应

javascript - 加速从 C# 到 JSON 的 JSON 序列化

javascript - C# MVC JsonResult 动态数据表

c++ - Qt:在缓慢启动时显示窗口内容

c++ - QTableView,选择并按住shift+点击