पृष्ठ प्रोक्सीबाट लोड हुन्छ, तर उच्चारण चिन्ह भएका अक्षरहरू विकृत भएर फर्कन्छन्। प्रोक्सी बदल्नु अघि प्रतिक्रियाका बाइटहरू 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 स्वीकार गर्छ। शून्य charset ले यसको अभिलेखित पहिचान र फलब्याक व्यवहारलाई अनुमति दिन्छ; ज्ञात र सही HTTP charset जानाजान अगाडि बढाउनुपर्छ। आधार URI ले सापेक्ष लिङ्कहरूका लागि सन्दर्भ दिन्छ।

बाइटहरू गलत रूपमा डिकोड भइसकेपछि परिणामस्वरूप String लाई अर्को charset ले पार्स गर्दा मूल पाठ फर्कंदैन। बाइटहरू र प्रतिक्रियाको मेटाडेटातर्फ फर्कनुहोस्। प्राप्त भएको कुराको पनि तुलना गर्नुहोस्: प्रोक्सीको लगइन पृष्ठ वा अस्वीकृति अनुरोध गरिएको पृष्ठभन्दा पूर्ण रूपमा फरक कागजात हुन सक्छ, त्यसमा डिकोडिङ असफलता नभई।

सम्बन्धित लेखहरू