小白求教Android开发中HttpURLConnection的网络连接问题

 我来答
约定20125
推荐于2016-02-03 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.1万
采纳率:96%
帮助的人:2895万
展开全部

你可以试试用我这个function... get method  的。。


public static  String getTextContent( String urlpath,String encoding) throws Exception {
 //可以看到,getTextContent接收到了目前还处于字符串形似的path,和编码。
 //将字符串形式的path,转换成一个url
 URL url = new URL(urlpath);
 //得到url之后,将要开始连接网络,以为是连接网络的具体代码
 //首先,实例化一个HTTP连接对象conn
 HttpURLConnection conn = (HttpURLConnection)url.openConnection();
 //定义请求方式为GET,其中GET的大小写不要搞错了。
 conn.setRequestMethod("GET");
 //定义请求时间,在ANDROID中最好是不好超过10秒。否则将被系统回收。
 conn.setConnectTimeout(6*1000);
 //请求成功之后,服务器会返回一个响应码。如果是GET方式请求,服务器返回的响应码是200,post请求服务器返回的响应码是206(貌似)。
 if(conn.getResponseCode()== 200){
 //返回码为真
 //从服务器传递过来数据,是一个输入的动作。定义一个输入流,获取从服务器返回的数据
 InputStream inStream = conn.getInputStream();
 //得到输入流的数据之后,调用readStream方法对输入流进行处理。返回的一个字节数组。
 //按ctrl进入readStream方法,看看readStream是怎么处理的
 byte[] data = readStream(inStream);
 //得到返回值。那么readStream主要做了些什么?readStream主要处理了将服务器返回的数据写到内存这个工作,也就是保存到了本地(我觉得)。
 //以字符串形式的返回。String(data,encoding)是个知识点。
return new String(data,encoding);
 }
 return null;
 }

 /**
 * 获取URL路径指定的网页代码·
 * @param urlpath URL路径
 * @throws Exception
 */
 public static  InputStream getContent( String urlpath,String encoding) throws Exception {
 URL url = new URL(urlpath);
 //实例化一个HTTP连接对象conn
 HttpURLConnection conn = (HttpURLConnection)url.openConnection();
 //定义请求方式为GET,其中GET的格式需要注意
 conn.setRequestMethod("GET");
 //定义请求时间,在ANDROID中最好是不好超过10秒。否则将被系统回收。
 conn.setConnectTimeout(6*1000);
 if(conn.getResponseCode()== 200){
return conn.getInputStream();
 }
 return null;
 }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式