Teknoyvirskodingarvillur í jsoup eftir niðurhal gjøgnum proxy
Greinaðu ørkymlað tekn í síðu, sum er lødd gjøgnum proxy, við at varðveita kodingarupplýsingar svarins gjøgnum HTML-greininguna.
Síðan verður lødd gjøgnum proxy, men bókstavir við tekn hava ørkymlaðar aftur. Áðrenn tú skiftir proxy, finn fyrsta staðið har bytesini í svarinum verða ein Java String. Ein InputStreamReader uttan greiðan charset kann taka ta avgerðina, áðrenn jsoup sær skjalið.
Tá jsoup tekur sær av niðurhalinum, hald svarinum saman til greiningar:
Connection.Response response = Jsoup
.connect("https://www.example.com/catalog")
.proxy("proxy.example", 8080)
.execute();
Document page = response.parse();Svar-API-viðurskiftið vísir charset-upplýsingar, sum eru avleiddar úr Content-Type. Tað kann eisini taka ímóti greiðari charset-avloysing, tá tú hevur staðfest, at frágreiðingin hjá servaranum er skeiv. Ein proxy-adressa sigur ikki sjálv, hvørja teknoyvirskoding skjalið brúkar. Um tú hevur tørv á loyvdum samanburði av almenna síðu uttan proxy-konto, skift HTTP-host og port í døminum út við einum valmøguleika úr HTTP-proxy-listanum, meðan tú varðveitir somu kodingarroyndirnar.
Um ein annar HTTP-kleintur veitir ein InputStream, tekur streym-greiningarútgávan í jsoup ímóti einum charset-navi og einum grund-URI. Eitt null-charset loyvir skjalfesta greining og afturfallsatferð; ein kendur og rættur HTTP-charset eigur at verða fluttur yvirlagt. Grund-URI gevur samanhang fyri relativar slóðir.
Tá bytesini eru einaferð dekodað skeivt, endurheimtir greiningin av tíútkomin String við einum øðrum charset ikki upprunaliga tekstin. Far aftur til bytesini og metadátuna í svarinum. Samanber eisini tað, sum varð móttikið: innritingarsíðan hjá proxy ella avbending kann vera eitt heilt annað skjal enn tann biðjaða síðan, heldur enn ein dekodingarvilla í henni.