前一阵抓网页遇到编码问题,于是写了个方法在每次抓取之前确认一下网页的编码,代码如下:
private static String getEncode(String strUrl){
String encode = HttpClient.encode;
InputStream in = null;
HttpURLConnection con = null;
try{
log.debug("检查url编码:" + strUrl);
URL url = new URL(strUrl);
con = (HttpURLConnection)url.openConnection();
// String[] s = strurl.split("/");
System.out.printf("编码:%s \n" ,con.getContentEncoding());
if(con.getContentEncoding()!=null){
return con.getContentEncoding();
}
in = con.getInputStream();
con.setConnectTimeout(5*1000);
con.setReadTimeout(10*1000);
BufferedReader read = new BufferedReader(new InputStreamReader(in));
String inStr = null;
String reg = "meta http-equiv=\"Content-Type\" content=\".*?charset=(.*?)\"";
Pattern p = Pattern.compile(reg);
while ((inStr = read.readLine()) != null) {
Matcher m = p.matcher(inStr);
if(m.find()){
encode = m.group(1);
log.debug("code:" + encode);
break;
}
}
}catch(Exception e){
log.error(e.getMessage(),e);
}finally{
try {
in.close();
con.disconnect();
} catch (Exception e) {
}
}
return encode;
}
分享到:
相关推荐
URLConnection和HttpClient使用入门
使用URL和URLConnection(多线程下载)
okhttp-urlconnection:3.10.0
URL以及URLConnection的使用
安卓URLConnection进行网络编程,一个简单的例子,服务器也有~
同时使用picasso和OKHttp的时候,需要加入OKHttp-urlconnection
JDK中的URLConnection参数详解
java中用URLConnection类post方式提交表单的方法。
import java.net.URLConnection; /** * 使用URLConnection下载文件或图片并保存到本地。 * * @author 老紫竹(laozizhu.com) */ public class URLConnectionDownloader { public static void main...
如果你用java编写了一个类似QQ的客户端(举例说明),想给webqq这样的网页或是servlet等发送消息,实现交互,那么URLConnection对你会很有帮助。需要的朋友请下载,如果有需要我们也可以互相交流,我也是一个java...
android 使用URL和URLConnection(多线程下载)_Hi Android_百度空间
主要用于截取页面!虽然有HttpClient但是有时候这个还是比较有用的!
NULL 博文链接:https://zhoujianghai.iteye.com/blog/1195988
URL的openConnection()方法将返回一个URLConnection对象,该对象表示应用程序和URL之间的通信连接。程序可以通过URLConnection实例向该URL发送请求,读取URL引用的资源。 程序Demo示范了如何向Web站点发送GET请求、...
NULL 博文链接:https://xiaolinjava.iteye.com/blog/1195523
java URLConnection 的详细介绍,牛人项目经验的总结,绝对通俗易懂,包括cookie操作,上传文件,以及下载网页等介绍,是非常难得文档和教材
NULL 博文链接:https://bijian1013.iteye.com/blog/2299735
一个通过Socket或URLConnection传文件的示例 Socket URLConnection 文件传输
okhttp-urlconnection-3.4.1.jar okhttp-urlconnection okhttp-urlconnection-3.4.1.jar下载
WebService URLConnection request/response JDK1.3及以上都有实现 例子比较乱...