android4.0中HttpURLConnection抛异常java.io.FileNotFoundException

本文介绍了一款应用程序在Android 4.0系统中尝试下载XML文件时遇到的FileNotFoundException异常,并提供了修复方法:移除可能导致请求被误认为POST的httpCon.setDoOutput(true)设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文地址:http://www.mikebai.com/html/2012-03/939.html

最近把机器刷到4.0了
跑了一下自己的app,发现下载xml文件部分抛出异常:java.io.FileNotFoundException: http://www.jpfocus.com/xxxx.xml

可是在2.3的系统却可以正常下载

我的代码:

URL url = new URL(urlstr);
HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
httpCon.setRequestMethod("GET");
httpCon.setDoOutput(true);
httpCon.connect();

原因:
4.0中设置httpCon.setDoOutput(true),将导致请求以post方式提交,即使设置了httpCon.setRequestMethod("GET");
将代码中的httpCon.setDoOutput(true);删除即可



关于setDoOutput(true)

网上查到的解释是,设置true,表示你发送的请求,会把body的内容发送至server端,即POST和PUT才需要使用。GET完全可以不用设置。


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值