பக்கம் ப்ராக்ஸி வழியாக ஏற்றப்படுகிறது, ஆனால் உச்சரிப்புக் குறிகளுடன் கூடிய எழுத்துகள் கலங்கிய நிலையில் திரும்பி வருகின்றன. ப்ராக்ஸியை மாற்றுவதற்கு முன், பதிலின் பைட்டுகள் Java String ஆகும் முதல் இடத்தைக் கண்டறியுங்கள். வெளிப்படையான charset இல்லாத InputStreamReader அந்த முடிவை jsoup ஆவணத்தைப் பார்ப்பதற்கு முன்பே எடுக்கலாம்.

jsoup பெறுதலைக் கையாளும்போது, பகுப்பாய்வு வரை பதிலை ஒன்றாக வைத்திருங்கள்:

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

பதில் API Content-Type இலிருந்து பெறப்பட்ட charset தகவலை வெளிப்படுத்துகிறது. சேவையகத்தின் அறிவிப்பு தவறு என்பதை உறுதிசெய்தால், அது வெளிப்படையான charset மேலெழுதலை ஏற்கிறது. ப்ராக்ஸி முகவரி மட்டும் ஆவணம் எந்த எழுத்துக் குறியாக்கத்தைப் பயன்படுத்துகிறது என்று சொல்லாது. ப்ராக்ஸி கணக்கு இல்லாமல் அனுமதிக்கப்பட்ட பொது பக்க ஒப்பீடு தேவைப்பட்டால், எடுத்துக்காட்டின் HTTP ஹோஸ்ட் மற்றும் போர்ட்டை HTTP ப்ராக்ஸி பட்டியலில் இருந்து ஒரு வேட்பாளரால் மாற்றுங்கள், அதே குறியாக்கச் சோதனைகளை வைத்துக்கொண்டு.

வேறு HTTP கிளையண்ட் InputStream வழங்கினால், jsoup இன் ஸ்ட்ரீம் பகுப்பாய்வு மேலெழுதல் charset பெயரையும் அடிப்படை URI யையும் ஏற்கிறது. null charset அதன் ஆவணப்படுத்தப்பட்ட கண்டறிதல் மற்றும் மாற்று நடத்தையை அனுமதிக்கிறது; தெரிந்த மற்றும் சரியான HTTP charset வேண்டுமென்றே கடத்தப்பட வேண்டும். அடிப்படை URI ஒப்பீட்டு இணைப்புகளுக்கு சூழலை வழங்குகிறது.

பைட்டுகள் தவறாக டிகோட் செய்யப்பட்ட பிறகு, விளைந்த String ஐ வேறு charset உடன் பகுப்பாய்வு செய்வது அசல் உரையை மீட்டெடுக்காது. பைட்டுகள் மற்றும் பதிலின் மெட்டாடேட்டாவுக்குத் திரும்புங்கள். பெறப்பட்டதையும் ஒப்பிடுங்கள்: ப்ராக்ஸியின் உள்நுழைவுப் பக்கம் அல்லது மறுப்பு, கோரப்பட்ட பக்கத்திலிருந்து முற்றிலும் வேறுபட்ட ஆவணமாக இருக்கலாம், அதில் டிகோடிங் தோல்வி அல்ல.

தொடர்புடைய கட்டுரைகள்