新手刚开始学习Java,弄个Get方式获取网页源码的代码,尝试获取Baidu首页的源码
但是这里问题就来了,不停地多次运行(期间什么都不改变),有时候返回的数据就是好的,有时候返回的就是乱码,这是为啥????
求大神解释!!!!!
代码很简单:
try
{
url = new URL("http://www.baidu.com");
HttpURLConnection httpURLConnection = (HttpURLConnection) url
.openConnection();
httpURLConnection.setRequestMethod("GET");
httpURLConnection.setReadTimeout(5000);
InputStream inputStream = httpURLConnection.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(
inputStream, "utf-8");
BufferedReader bufferedReader = new BufferedReader(
inputStreamReader);
StringBuffer strBuffer = new StringBuffer();
String line=null;
while((line=bufferedReader.readLine())!=null){
strBuffer.append("\n" + line);
}
System.out.println(strBuffer);
bufferedReader.close();
} catch (MalformedURLException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
在网上搜索的很多,可是都是编码问题,改了编码就好了,但是我这个重点是:
有时候正常,有时候就乱码。。。
乱码还复制不出来,真是醉了
还是用过百度到的类似代码,也是有时好有时坏。。。
------解决思路----------------------
换成www.163.com也有这个问题么,百度好像改用https了。
------解决思路----------------------
百度支持的协议时https的吧
https://www.baidu.com/