最近在学习Android中的网络编程,即利用HttpURLConnection对象访问网络获取数据。初始代码如下:
//1.根据url地址创建一个URL对象
URL url = new URL(url_str);
//2.获取一个URLConnection对象
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
//3.为URLConnection设置请求参数(请求方式,连接的超时时间等)
connection.setRequestMethod("GET");
connection.setConnectTimeout(1000*10);
//4.判断响应码
int code = connection.getResponseCode();
运行后发现没有获取到任何数据,打印出响应码发现响应码为302,而不是期待的200。响应码302代表重定向,即网页进行了重定向,所以没有任何数据。知道了问题,解决起来就很简单了。既然是重定向,那就再获取到重定向的网址,然后再次访问就可以了。获取重定向网址的方法为查询head中的location,方法为