Apache HttpClient 4.2: រក្សា AuthCache របស់ប្រូកស៊ីនៅលើបរិបទសំណើ
រក្សាឃ្លាំងសម្ងាត់ Basic-auth របស់ HttpClient 4.2 ប្រូកស៊ី នៅលើបរិបទប្រតិបត្តិដូចគ្នាដែលសំណើបន្ទាប់ប្រើ។
នៅក្នុងកម្មវិធី HttpClient 4.2.2 ចាស់ អ្នកផ្គត់ផ្គង់ព័ត៌មានសម្គាល់ និងឃ្លាំងសម្ងាត់ផ្ទៀងផ្ទាត់ ធ្វើការងារខុសគ្នា។ អ្នកផ្គត់ផ្គង់ផ្តល់គណនី; ឃ្លាំងសម្ងាត់អនុញ្ញាតឱ្យគ្រោងការផ្ទៀងផ្ទាត់ដែលបានកំណត់ទុកជាមុនដោយចេតនា ចូលរួមមុនពេលបញ្ហាប្រឈមបន្ទាប់មកដល់។
សម្រាប់អ្នកសាងសង់ BasicScheme ចាស់ដែលជាក់លាក់ចំពោះប្រូកស៊ី ការផ្ទេរមានរូបរាងដូចនេះ៖
AuthCache cache = new BasicAuthCache();
cache.put(proxy, new BasicScheme(ChallengeState.PROXY));
HttpContext context = new BasicHttpContext();
context.setAttribute(ClientContext.AUTH_CACHE, cache);
HttpResponse response = client.execute(request, context);ផ្នែកនេះសន្មតថា client មានផ្លូវប្រូកស៊ីដែលត្រូវគ្នា និងអ្នកផ្គត់ផ្គង់ព័ត៌មានសម្គាល់រួចហើយ។ proxy គឺជា HttpHost របស់វា ហើយ request គឺជាប្រតិបត្តិការពិតប្រាកដ។ កូនសោឃ្លាំងសម្ងាត់ត្រូវពិពណ៌នាអំពីអ្នកកណ្តាលនោះ មិនមែនគេហទំព័រគោលដៅទេ។
បញ្ជូនបរិបទដែលបានបំពេញទៅ execute។ ការសាងសង់វា ហើយបន្ទាប់មកប្រើការផ្ទុកលើសទម្ងន់ដែលបង្កើតបរិបទផ្សេង បន្សល់ឃ្លាំងសម្ងាត់នៅក្រៅការផ្លាស់ប្តូរ។ សម្រាប់ប្រតិបត្តិការបន្ទាប់ដែលត្រូវចែករំលែកស្ថានភាពផ្ទៀងផ្ទាត់នោះ រក្សាបរិបទសមស្រប ជាជាងបង្កើតបរិបទទទេឡើងវិញរាល់ដង។
ស្ថានភាព PROXY ច្បាស់លាស់ជាកម្មសិទ្ធិរបស់ API ចាស់នេះ។ TARGET ទាក់ទងនឹងការផ្ទៀងផ្ទាត់គោលដៅ។ ជំនាន់ HttpClient ថ្មីបានផ្លាស់ប្តូរកញ្ចប់ និង API ផ្ទៀងផ្ទាត់ ដូច្នេះសូមប្រើវាជាមគ្គុទ្ទេសក៍ថែទាំសម្រាប់កូដ 4.2 ដែលមានស្រាប់ មិនមែនជារូបមន្តសម្រាប់ client ថ្មីទេ។
ការផ្លាស់ប្តូរធម្មតាដែលដឹកនាំដោយបញ្ហាប្រឈមនៅតែអាចត្រឹមត្រូវ។ សាបព្រោះការផ្ទៀងផ្ទាត់ Basic សម្រាប់តែប្រូកស៊ីដែលស្គាល់ និងមានបំណងប៉ុណ្ណោះ ហើយប្រើប្រាស់ ឬដោះលែងការឆ្លើយតបនីមួយៗ មុនពេលប្រតិបត្តិការបន្ទាប់ត្រូវការការតភ្ជាប់របស់វា។ លទ្ធផលមានប្រយោជន៍គឺគណនី និងគ្រោងការដែលបានឃ្លាំងទុក ភ្ជាប់នឹងប្រតិបត្តិការដែលពិតជាផ្ញើសំណើ។