尝试很多次,花了很多时间才发现内容进行了gzip压缩。
解决办法:
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import com.taobao.api.internal.toplink.util.GZIPHelper;
public class HttpData {
public static void main(String[] args) throws Exception {
String charsetName = null;
URL realUrl = new URL("http://123456.html");
// 打开和URL之间的连接
URLConnection connection = realUrl.openConnection();
String result = "";
InputStream in = null;
ByteArrayOutputStream out = null;
in = connection.getInputStream();
out = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int length;
while ((length = in.read(buffer)) != -1) {
out.write(buffer, 0, length);
}
System.out.println("Content-Encoding:"+connection.getHeaderField("Content-Encoding"));
byte [] resBytes = out.toByteArray();
if("gzip".equals(connection.getHeaderField("Content-Encoding"))){
resBytes = GZIPHelper.unzip(resBytes);
}
if(charsetName == null){
result = new String(resBytes);
}else{
result = new String(resBytes,charsetName);
}
System.out.println(result);
}
}