Səhifə proksidən yüklənir, lakin diakritik hərflər qarışıq qayıdır. Proksini dəyişməzdən əvvəl cavab baytlarının Java String-ə çevrildiyi ilk yeri tapın. Açıq charset olmadan InputStreamReader bu qərarı jsoup sənədi görməmişdən əvvəl verə bilər.

jsoup gətirməni idarə etdikdə cavabı təhlilə qədər birlikdə saxlayın:

Connection.Response response = Jsoup
    .connect("https://www.example.com/catalog")
    .proxy("proxy.example", 8080)
    .execute();
Document page = response.parse();

Cavab API-si Content-Type-dan alınan charset məlumatını təqdim edir. Serverin bəyanatının səhv olduğunu müəyyən etdiyiniz halda açıq charset əvəzləməsini də qəbul edə bilər. Proksi ünvanı özü sənədin hansı simvol kodlaşdırmasından istifadə etdiyini demir. Proksi hesabı olmadan icazəli ictimai səhifə müqayisəsinə ehtiyac varsa, nümunənin HTTP hostunu və portunu HTTP proksi siyahısından namizədlə əvəz edin, eyni kodlaşdırma yoxlamalarını saxlayın.

Başqa HTTP klienti InputStream təqdim edirsə, jsoup-un axın təhlili variantı charset adını və baza URI-ni qəbul edir. Null charset sənədləşdirilmiş aşkarlama və ehtiyat davranışına imkan verir; məlum və düzgün HTTP charset qəsdən ötürülməlidir. Baza URI nisbi keçidlər üçün kontekst verir.

Baytlar səhv dekodlandıqdan sonra nəticədə yaranan String-i başqa charset ilə təhlil etmək orijinal mətni bərpa etmir. Baytlara və cavab metadatasına qayıdın. Həm də alınanı müqayisə edin: proksinin giriş səhifəsi və ya imtinası tələb olunan səhifədən tamamilə fərqli sənəd ola bilər, onun içində dekodlaşdırma xətası deyil.

Əlaqəli məqalələr