crawler4Jは、コード化された結果を伴うページをクロールするのが得意です。ただし、Crawler4Jは応答のエンコードを指定せず、それを文字化けしたコードに分割することは非常に迷惑です。痛みを見つけた後、私は誤って問題を解決し、page.loadでエンコードするContentDataを変更できることを発見しました。解決した。
コードコピーは次のとおりです。
パブリックボイド負荷(httpentityエンティティ)は例外をスローします{
contentType = null;
Header Type = Entity.GetContentType();
if(type!= null){
contentType = type.getValue();
}
contentencoding = null;
ヘッダーエンコード= entity.getContentenCoding();
if(encoding!= null){
contentencoding = encoding.getValue();
}
charset charset = contentType.getordEfault(entity).getCharset();
if(charset!= null){
contentcharset = charset.displayname();
}それ以外{
ContentCharset = "UTF-8";
}
//ソースコード
// contentData = entityutils.tobytearray(entity);
//修正コード
contentData = entityUtils.toString(entity、charset.forname( "gbk"))。getBytes();
}