De side laadt fia de proxy, mar letters mei aksinten komme trochinoar werom. Foardat jo de proxy feroarje, fyn it earste plak dêr't de bytes fan it antwurd in Java String wurde. In InputStreamReader sûnder eksplisite charset kin dat beslút nimme foardat jsoup it dokumint sjocht.

Wannear't jsoup de oanfraach ôfhannelet, hâld it antwurd byinoar oant de parse:

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

De antwurd-API toant charset-ynformaasje ôflaat fan Content-Type. It kin ek in eksplisite charset-oerskriuwing akseptearje as jo fêststeld hawwe dat de ferklearring fan de tsjinner ferkeard is. In proxy-adres allinnich fertelt jo net hokker tekenkodearring it dokumint brûkt. As jo in tastiene ferliking fan in iepenbiere side sûnder proxy-account nedich hawwe, ferfange dan de HTTP-host en -poarte fan it foarbyld troch in kandidaat út 'e HTTP-proxy-list, wylst jo deselde kodearringskontrôles behâlde.

As in oare HTTP-klant in InputStream leveret, akseptearret de stream-parse-oerlading fan jsoup in charset-namme en in basis-URI. In nul-charset lit syn dokumintearre deteksje en fallback-gedrach ta; in bekend en korrekt HTTP-charset moat bewust meinommen wurde. De basis-URI jout kontekst foar relative keppelings.

As bytes ienris ferkeard dekodearre binne, hellet it parsen fan 'e ûntstiene String mei in oare charset de oarspronklike tekst net werom. Gean werom nei de bytes en de metadata fan it antwurd. Ferlykje ek wat ûntfongen is: in oanmeldside of wegering fan in proxy kin in hiel oar dokumint wêze as de oanfrege side, ynstee fan in dekodearringsfout dêryn.

Relatearre artikelen