V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lyp111332
V2EX  ›  PHP

请问下为什么安卓客户端可以接收服务器发送的 json, ios 客户端的却不能接收服务器发送的 json

  •  
  •   lyp111332 · 2016-04-26 18:40:40 +08:00 · 2896 次点击
    这是一个创建于 2926 天前的主题,其中的信息可能已经有所发展或是发生改变。
    ios 端使用的是 afnetworking 框架 php 服务器的代码如下
    <?php
    $con = mysql_connect("localhost","root","root");
    if (!$con)
    {
    die('Could not connect: ' . mysql_error());
    }


    mysql_select_db("emp", $con);
    mysql_set_charset('utf8',$con);
    $c = file_get_contents("php://input");
    $de_json = json_decode($c);


    $aa=array();
    $sql= mysql_query("SELECT * FROM tianqi WHERE location='$de_json->location'");
    while($row=mysql_fetch_object($sql))
    $aa = $row;
    echo json_encode($aa);
    exit;
    mysql_close();

    还有就是 ios 客户端可以收到用 jsp 编写的服务器发送的 json 。
    19 条回复    2016-04-29 12:39:20 +08:00
    Threezj
        1
    Threezj  
       2016-04-26 19:02:50 +08:00
    那肯定和服务端无关啊,是你客户端的问题吧
    ixiaozhi
        2
    ixiaozhi  
       2016-04-26 19:04:30 +08:00
    看到 php 打了一段话,又删了
    lyp111332
        3
    lyp111332  
    OP
       2016-04-26 19:08:34 +08:00
    @ixiaozhi = =为什么。这个 php 服务器应该是正确的吧= =
    ixiaozhi
        4
    ixiaozhi  
       2016-04-26 19:10:02 +08:00
    @lyp111332 嗯的,是正确的
    11138
        5
    11138  
       2016-04-26 19:13:54 +08:00
    什么叫“不能接收服务器发送的 json ”?可以接收发送的 html 吗?首先要判断一下客户端和服务器是否相通,再判断接收的内容是否一致,然后。。。
    xjp
        6
    xjp  
       2016-04-26 19:18:32 +08:00
    为什么呢? 因为 ios 程序员不行

    既然安卓没问题说服务端是没有问题的吧
    lyp111332
        7
    lyp111332  
    OP
       2016-04-26 19:19:37 +08:00
    @11138 可以相通的
    lyp111332
        8
    lyp111332  
    OP
       2016-04-26 19:23:46 +08:00
    @xjp 但是 ios 端那边却可以和 jsp 编写的服务器连接成功 我的 php 服务器和另外一个服务器需要接收和发送的东西都是一样的
    beginor
        9
    beginor  
       2016-04-26 19:35:37 +08:00 via Android
    差一个题外话,这种查询不怕被 SQL 注入么? location 如果输入 1=1 or 之类的怎么办? 不能能做参数化查询么? 我有强迫症
    11138
        10
    11138  
       2016-04-26 19:39:18 +08:00
    print "Content-Type: application/json; charset=utf-8\n\n";

    你不如把两者的代码都发出来看看,看看是不是如你所说,发送的东西都一模一样,连头部都一样。
    lyp111332
        11
    lyp111332  
    OP
       2016-04-26 19:41:05 +08:00
    @beginor 感谢提醒 只是我现在还是初学者 还不懂怎么保护系统漏洞 这上面是我们老师让我们做的一个项目 = =想着把功能实现了先
    SeanChense
        12
    SeanChense  
       2016-04-26 19:48:36 +08:00
    为什么呢? 因为 iOS 程序员不行。
    可以对两个平台抓包证明。
    ssynhtn
        13
    ssynhtn  
       2016-04-26 20:15:16 +08:00 via Android
    afnetworking 要设置 responseserializer ,或者像楼上说的, response 里要给出 content type
    realpg
        14
    realpg  
       2016-04-26 21:20:07 +08:00
    @lyp111332
    PHP 代码 在 echo 上面加一行
    header('Content-type:text/json');
    XianZaiZhuCe
        15
    XianZaiZhuCe  
       2016-04-27 07:40:30 +08:00 via iPhone
    客户倒霉
    cevincheung
        16
    cevincheung  
       2016-04-27 09:03:27 +08:00
    打了一大段话又删了。国内现在的学校还在用 PHP4 做教学范例么? mysql_* 现在还在用?
    lyp111332
        17
    lyp111332  
    OP
       2016-04-27 09:06:18 +08:00
    @cevincheung 我是在用 php5.4
    lyp111332
        18
    lyp111332  
    OP
       2016-04-29 09:42:35 +08:00
    @cevincheung 在上大三 不过是自学 php 的。 = = 还有其他能代替 mysql 的吗
    cevincheung
        19
    cevincheung  
       2016-04-29 12:39:20 +08:00
    @lyp111332 `MySQLi`和`PDO_MYSQL` 5.4 也太老了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2249 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 02:30 · PVG 10:30 · LAX 19:30 · JFK 22:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.