android网络连接使用GET方式请求服务器时的setDoOutput(true)惹的祸
来源:互联网 发布:初榨椰子油 知乎 编辑:程序博客网 时间:2024/06/01 08:04
先耐心看我是怎么一步一步发现问题的,国庆节我打算把Android网路互联搞完。然后盯着视频写代码,这是某网站视频截图如下:
她正在写Android客户端的一个访问demo,实现登录验证功能。而且是用GET方式访问,截图中可以看到:conn.setRequestMethod("GET");,大家可以清楚的看到她写的conn.setOnOutput(true);我对这个网站的视屏质量从没怀疑过,因为以前只要跟着视频一起敲,最后的结果一定和她的一致。
我跟着上面的敲完,然后自己在javaEE-eclipse上搭建服务器,视频上的效果是如果用户名为“zhangsan”并且密码为“123”,服务器就会返回“OK”,否则返回“ERROR”,我并不会搭建服务器,只能一点一点地找,从servlet开始了解,了解URL,了解doGET方法,了解怎么接受并识别数据,终于,最后在浏览器地址栏输入URL是,服务器有了响应。
我以为大功告成,结果,自己的app点击登录按钮时,服务器一点反应都没有,我对着logcat看了半天,把错误复制粘贴到百度甚至是Google上,去求助,没有相关的详细解释。最终我看到那一行:conn.getResponseCode()==200,我百度一看,网址是:http://www.zhihu.com/question/20908415,惊讶了,原来还有常说的404,30x,我试着把自己的getResponseCode()输出,结果是405,代表着我使用了禁止的访问方式。我再次百度,想看看怎么解决这个405 错误,但是很遗憾没有可行的解决方式。点击登录按钮,服务器仍旧一点反应都没有。
折腾了好长时间,我都想放弃了,真的感觉自己尽力了,没办法了,本来打算把网络互连学完,就去补java,现在看来得提前结束Android之旅了。下午早早回寝室,感觉彻底解脱了。
在寝室里我边打游戏,边想那个405错误到底是怎么回事,心里还是放不下。第二天一大早,我习惯性地背起书包,再回实验室。 我没辙了,只能暂时放弃视频,到网上去找其他大声的demo,我费尽心血,沙里淘金找到了可靠的代码,重新建服务器,写Android布局,改URL。一番折腾,终于在10月4号的晚上,成功了。网址如下:
这时,我终于忍不住去反思,视频里的代码,到底哪里出错了?那个405错误到底是为什么?看截图如下:
大家可以清楚地看到我写的setDoOutput(faule),运行结果是右边的“login success”。两行截然相反的代码,那么这个神秘的setDoOutput到底是什么鬼?
看下面的网址吧:http://blog.csdn.net/u010665691/article/details/45558119。我简要的写一下,
若使用GET方式,则setdoinput(true),setdooutput(false);
若使用POST方式,则setdoinput(true),setdooutput(true),切记POST方式setdooutput的默认值是false哦。
当然这个过程也让我更深刻的理解服务器,servlet,汉字乱码,http状态码等等。
- android网络连接使用GET方式请求服务器时的setDoOutput(true)惹的祸
- Android 网络请求通用的get与post方式
- Android使用HttpClient以Post、Get请求服务器发送数据的方式(普通和json)
- Android使用HttpClient以Post、Get请求服务器发送数据的方式(普通和json)
- Android使用HttpClient以Post、Get请求服务器发送数据的方式(普通和json)
- Android Get方式网络请求
- android网络请求get方式
- Android 网络请求的方式
- android使用Http的Get方式读取网络数据
- Android程序:使用Http的Get方式读取网络数据
- android 使用Http的Get方式读取网络数据
- android网络请求的几种方式,android怎么请求服务器资源
- tomcat服务器使用get方式请求时参数乱码问题解决
- WebView的使用(http协议访问网络Get和Post请求方式)
- Android网络请求,Get方式请求,HttpURLConnection请求工具类
- android的http请求get和post请求方式
- 向服务器请求的get和post方式
- 通过AsyncTask实现网络请求的方式,get和post
- HDU 5875 Function(简单线段树)
- HDU 5920 Ugly Problem(模拟)
- SDOI 2009 学校食堂
- 制作全新OS X EI Capitan安装U盘
- (坑)网络流24题
- android网络连接使用GET方式请求服务器时的setDoOutput(true)惹的祸
- 硬件串行接口总结
- Zabbix-3.0.3使用自带模板监控MySQL
- Codeforces Round #375 (Div. 2) D 连通块
- Android中Looper类
- 习题8.10
- python 学习笔记(4) python函数和模块
- Swift学习记录 -- 16.微博项目初体验
- PCA算法:从一组照片中获取特征脸(特征向量)