Amaphutha okubhalwa kwezinhlamvu ku-jsoup ngemuva kokulanda nge-proxy
Hlola izinhlamvu ezixubile ekhasini elilayishwe nge-proxy ngokugcina ulwazi lokubhalwa kwempendulo phakathi nokuhlaziywa kwe-HTML.
Ikhasi lilayishwa nge-proxy, kodwa izinhlamvu ezinophawu lwephimbo zibuya zixubile. Ngaphambi kokushintsha i-proxy, thola indawo yokuqala lapho amabhayithi empendulo eba i-Java String. I-InputStreamReader ngaphandle kwe-charset ecacile ingathatha leso sinqumo ngaphambi kokuba i-jsoup ibone idokhumenti.
Lapho i-jsoup isingatha ukulanda, gcina impendulo iyodwa kuze kube sekuhlaziyweni:
Connection.Response response = Jsoup
.connect("https://www.example.com/catalog")
.proxy("proxy.example", 8080)
.execute();
Document page = response.parse();I-API yempendulo iveza ulwazi lwe-charset olutholakala ku-Content-Type. Ingakwazi futhi ukwamukela ukushintshwa kwe-charset okucacile lapho usuqinisekisile ukuthi isimemezelo seseva asilungile. Ikheli le-proxy lilodwa alikutsheli ukuthi idokhumenti isebenzisa ukuphi ukubhalwa kwezinhlamvu. Uma udinga ukuqhathaniswa okuvunyelwe kwekhasi lomphakathi ngaphandle kwe-akhawunti ye-proxy, shintsha i-host ne-port ye-HTTP yesibonelo ngomuntu oyingcambu ovela kuhlu lwama-proxy e-HTTP, ugcina ukuhlolwa kokubhalwa okufanayo.
Uma elinye iklayenti le-HTTP linikeza i-InputStream, ukugcwaliswa kokuhlaziya kokugeleza kwe-jsoup kwamukela igama le-charset ne-URI eyisisekelo. I-charset engu-null ivumela ukutholwa nokuziphatha kwayo kokubuyela emuva okubhalwe phansi; i-HTTP charset eyaziwayo futhi elungile kufanele idluliswe ngamabomu. I-URI eyisisekelo inikeza umongo wezixhumanisi ezihlobene.
Lapho amabhayithi esebhalwe ngokungalungile, ukuhlaziya i-String evelayo ngenye i-charset akubuyiseli umbhalo wangempela. Buyela emabhayithini nakumethadatha yempendulo. Qhathanisa futhi lokho okwamukelwe: ikhasi lokungena noma ukwenqatshwa kwe-proxy kungaba idokhumenti ehluke ngokuphelele ekhasini eliceliwe, hhayi ukwehluleka kokubhala phakathi kwalo.