Crawler4J جيد في صفحات الزحف مع نتائج مشفرة. ومع ذلك ، لا يحدد Crawler4J الترميز للاستجابة ويخوضه في رمز مشوهة ، وهو أمر مزعج للغاية. بعد العثور على الألم ، اكتشفت عن طريق الخطأ أن منشور المدونة القديم يمكنه حل المشكلة وتعديل ترميز ContentData في الصفحة (). حل.
نسخة الكود كما يلي:
تحميل الفراغ العام (كيان httpentity) يلقي الاستثناء {
contentType = null ؛
نوع الرأس = entity.getContentType () ؛
if (type! = null) {
contentType = type.getValue () ؛
}
contentencoding = null ؛
ترميز الرأس = entity.getContentEncoding () ؛
إذا (الترميز! = فارغ) {
contentEncoding = encoding.getValue () ؛
}
charset charset = contentType.getorDefault (untity) .getcharset () ؛
if (charset! = null) {
contentCharset = charset.displayName () ؛
}آخر{
contentCharset = "UTF-8" ؛
}
// رمز المصدر
// contentData = entityUtils.TobyTearray (untity) ؛
// رمز معدّل
contentData = entityUtils.ToString (intity ، charset.forname ("gbk")). getBytes () ؛
}