您的位置:首页 > 理论基础 > 计算机网络

HttpURLConnection调用connect异常的问题

2014-10-21 21:29 549 查看
出现这个问题是一年前看android视频时做的一个小案例,当时调用connect方法时不管怎样都抛出IO异常,总之就是连接不上当时在网上也找了很多方法,如下(确认url正确的情况下):方法一:在AndroidMenifest.xml中加入以下代码
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
方法二:HttpURLconnection修改其方法
// 设置是否向httpUrlConnection输出,因为这个是post请求,参数要放在
// http正文内,因此需要设为true, 默认情况下是false;
httpUrlConnection.setDoOutput(true);
// 设置是否从httpUrlConnection读入,默认情况下是true;
httpUrlConnection.setDoInput(true);
// Post 请求不能使用缓存
httpUrlConnection.setUseCaches(false);
// 设定传送的内容类型是可序列化的java对象
// (如果不设此项,在传送序列化对象时,当WEB服务默认的不是这种类型时可能抛java.io.EOFException)
httpUrlConnection.setRequestProperty("Content-type", "application/x-java-serialized-object");
// 设定请求的方法为"POST",默认是GET
httpUrlConnection.setRequestMethod("POST");
var email = $('input[name="user.email"]');if(email.val()=="" || typeof(email.val()) == "undefined"){   $("#emailLable").html("必填");   registerSubmit = false;}
方法三:手机运行时没有连接网络(就是没有开2g/3g或者wifi),这是让我比较无语的地方,找了很久才找出来方法四:以上所有的方法都还是不管用,在调试的时候无意的发现也就是在调用url.openConnection()之后得到的HttpURLConnection对象其默认的端口号是80然后我就试着去修改了一下tomcat的端口号为80,没想到这一改调用connect方法就没有问题了,虽然不知道为什么要这样改(视频中好像没有提到)。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐