php - 在 Objective C 中从 URL 下载 JSON 的简单方法

标签 php mysql objective-c json

我正在使用 php 文件连接到 MYSQL 数据库并以 JSON 格式从数据库返回表。

以下是显示 JSON 结果的 PHP 文件的链接:http://tradersdb.rf.gd/service1.php

我尝试了多种 Objective C 代码变体来将此 JSON 格式的信息下载到 Objective C 数组中,但没有成功。我希望这段代码能够在 IOS 应用程序中使用,该应用程序将从 MYSQL 数据库中读取数据。

但是,我觉得问题在于 PHP 文件和潜在的不正确的 JSON 格式,而不是任何 Objective C 代码。我在 PHP 文件中使用了 json_encode() 。感谢所有帮助。

最佳答案

对您提供的 JSON 链接进行一些测试后,发现您的 Web 服务器确实在实际内容前面注入(inject)了 HTML。此 HTML 旨在通过 JavaScript 设置 cookie,然后自动加载实际数据。

问题不在于您的 JSON,而在于您的 Web 框架。您将在下面看到该页面从您的根目录加载 aes.js,该目录很可能用于 cookie 的解密/加密。

这是返回的 HTML:

<html>
<body>
    <script type="text/javascript" src="/aes.js"></script>
    <script>
        function toNumbers(d) {
            var e = [];
            d.replace(/(..)/g, function(d) {
                e.push(parseInt(d, 16))
            });
            return e
        }

        function toHex() {
            for (var d = [], d = 1 == arguments.length && arguments[0].constructor == Array ? arguments[0] : arguments, e = "", f = 0; f < d.length; f++) e += (16 > d[f] ? "0" : "") + d[f].toString(16);
            return e.toLowerCase()
        }
        var a = toNumbers("f655ba9d09a112d4968c63579db590b4"),
            b = toNumbers("98344c2eee86c3994890592585b49f80"),
            c = toNumbers("db90ed280d6dd97b2c5a2f1352115adf");
        document.cookie = "__test=" + toHex(slowAES.decrypt(c, 2, a, b)) + "; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/";
        location.href = "http://tradersdb.rf.gd/service1.php?i=1";
    </script>
    <noscript>
        This site requires Javascript to work, please enable Javascript in your browser or use a browser with Javascript support
    </noscript>
</body>
</html>

这很可能是您服务器上的机器人保护插件。如果您可以控制服务器插件,则应该禁用/删除它。唯一的其他选择是找到一个允许纯内容访问的更好的主机,或者找到一种禁用此服务器设置的方法。

更新:

这似乎是一个免费的托管服务器。我强烈建议你放弃这个,你会发现你的代码可以工作。如果它是免费主机,您可能无法禁用它。在这种情况下,该主机提供商对您来说毫无用处,您应该寻找新的主机提供商。

关于php - 在 Objective C 中从 URL 下载 JSON 的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40857717/

相关文章:

ios - 如何从 xib 加载特定 View 属性?

php - 我应该注意 Derek Sivers 关于从 PHP 迁移到 Rails 的警告吗?

mysql - 如何通过escape()方法在node中使用mysql全文搜索?

ios - 在运行时 iOS 应用程序中下载程序文件

ios - Segue 不传递值

mysql - 如果存在,如何进行 MySQL 查询以获取其他表字段值?

php - 我需要验证信用卡详细信息

php - 如何在 cakePHP 2.x 中生成 CSV 文件?

php - 如何通过比较PHP中的选项值将下拉值中的值插入数据库表?

php - MySQL 查询的影响