请选择 进入手机版 | 继续访问电脑版
本站特色:极好的技术研究氛围!所有技术交流,必有回复!

疯狂Java联盟

 找回密码
 加入联盟
查看: 666|回复: 1

[Android] 求助--------疯狂安卓,get返回的方法异常

[复制链接]
发表于 2018-1-6 12:03:58 | 显示全部楼层 |阅读模式
老师您好,
       疯狂android第三版,十九章,HttpUtil.java里面的Httpget 和Httppost方法,在现在android 5.0以上API中不能用了,只能用URL mUrl=new URL(url);HttpURLConnection conn=(HttpURLConnection)mUrl.openConnection() 来进行get和post .我用HttpUrlConnection重新写了HttpUtils里面的get和post,post方法能用,登录成功进去后,随便点击某个fragment,会提示 您还没有登录系统,请先登录系统!问题是,我已经成功登录了。后来我直接把我的get方法放进你十九章的代码,替换你的get方法,也会发现有此问题。百度了下,网络上get方法大都和我写的相似,不知道服务端为啥会返回没有登录的信息。get并非没有返回数据,而是返回“您还没有登录系统,请先登录系统!”。附件是HttpUtil.rar我写的get和post。下面是logcat给出的报错信息:
01-05 14:44:24.872 28248-28513/com.zengyouran.succeedclient D/get返回结果是____: 您还没有登录系统,请先登录系统!
01-05 14:44:24.878 28248-28248/com.zengyouran.succeedclient W/ResourceType: No known package when getting name for resource number 0xffffffff
01-05 14:44:24.906 28248-28248/com.zengyouran.succeedclient W/System.err: org.json.JSONException: Value 您还没有登录系统,请先登录系统! of type java.lang.String cannot be converted to JSONArray
报错定位:
JSONArray jsonArray = new JSONArray(HttpUtil.getRequest(url));报错在这里,是由于返回的不是json格式数据,而是未登录提醒的文本导致。
我想请问,这部分get方法要如何改,或者服务端要如何改,才能调试通过呢?

HttpUtil.rar (2.13 KB, 下载次数: 41)
发表于 2018-1-7 00:36:06 | 显示全部楼层
因为我的应用的权限控制是在服务端做的(也必须在服务端做,否则所有用户都可以调用了)
HttpClient会维护用户的登录状态,但HttpURLConnection则不能维护用户的登录状态,
HttpURLConnection 只能简单地发送请求、获取响应。

如果你要用HttpURLConnection来代替HttpClient,可能比较复杂。
建议用第三方的网络通信组件。
您需要登录后才可以回帖 登录 | 加入联盟

本版积分规则

视频、代码、电子书下载
请关注"疯狂图书"公众号
QQ交流1群: 545923995  未满
微信群请扫二维码
QQ交流1群:
545923995
(未满)

小黑屋|手机版|Archiver|疯狂Java联盟 ( 粤ICP备11094030号 )

GMT+8, 2019-1-17 16:49 , Processed in 0.337148 second(s), 7 queries , File On.

快速回复 返回顶部 返回列表