Orrialdea proxyaren bidez kargatzen da, baina azentu-markak dituzten hizkiak nahasita itzultzen dira. Proxyz aldatu aurretik, aurkitu erantzunaren byteak Java String bihurtzen diren lehen tokia. Charset espliziturik gabeko InputStreamReader batek erabaki hori har dezake jsoupek dokumentua ikusi aurretik.

jsoupek deskarga kudeatzen duenean, eduki erantzuna batera analizatu arte:

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

Erantzunaren APIak Content-Type-tik eratorritako charset informazioa erakusten du. Charset gainidazketa esplizitua ere onar dezake zerbitzariaren deklarazioa okerra dela egiaztatu duzunean. Proxy helbide batek berak ez dizu esaten dokumentuak zein karakter-kodetze erabiltzen duen. Proxy konturik gabeko orrialde publikoaren konparazio baimendua behar baduzu, ordeztu adibideko HTTP ostalaria eta ataka HTTP proxy zerrendako hautagai batekin, kodetze-egiaztapen berak mantenduz.

Beste HTTP bezero batek InputStream bat ematen badu, jsoupen fluxu-analisirako gainkargak charset izen bat eta oinarrizko URI bat onartzen ditu. Charset nuluak dokumentatutako detekzio eta ordezko jokabidea ahalbidetzen ditu; ezaguna eta zuzena den HTTP charset bat nahita eraman behar da. Oinarrizko URIak testuingurua ematen die esteka erlatiboei.

Byteak gaizki deskodetu ondoren, lortutako Stringa beste charset batekin analizatzeak ez du jatorrizko testua berreskuratzen. Itzuli byteetara eta erantzunaren metadatuetara. Konparatu jaso dena ere: proxyaren saio-hasiera orrialdea edo ukoa eskatutako orrialdearen dokumentu erabat desberdina izan daiteke, eta ez bertan deskodetze-hutsegitea.

Erlazionatutako artikuluak