ការវាយតម្លៃ PAC របស់ Jint៖ អ្នកជំនួយដែលបាត់ និងលទ្ធផលផ្លូវ
ការប្រតិបត្តិ FindProxyForURL គឺជាជំហានមួយ៖ ម៉ាស៊ីនត្រូវអនុវត្តអ្នកជំនួយ PAC កំណត់ការប្រតិបត្តិ និងបកស្រាយបញ្ជីផ្លូវដែលបានត្រឡប់មកវិញ។
ប្រសិនបើ Jint រាយការណ៍ថាបាត់ dnsResolve ឬ myIpAddress ពេលវាយតម្លៃ PAC ការផ្ទុក JavaScript បន្ថែមមិនចាំបាច់ជាដំណោះស្រាយទេ។ អ្នកជំនួយ PAC ទាំងនោះជារបស់បរិស្ថានដែលកម្មវិធីម៉ាស៊ីនផ្តល់ឱ្យ។
មុនពេលហៅ FindProxyForURL
ជ្រើសរើសសំណុំអ្នកជំនួយ PAC ដែលគាំទ្រ និងក្រុមអាសយដ្ឋាន បន្ទាប់មកដំឡើងអ្នកជំនួយទាំងនោះលើម៉ាស៊ីនប្រតិបត្តិ។ រក្សាកិច្ចសន្យារបស់ពួកវា៖ dnsResolve ទទួលឈ្មោះម៉ាស៊ីន ដោយ myIpAddress មិនទទួលអាគុយម៉ង់ ហើយត្រូវការគោលការណ៍ចំណុចប្រទាក់ក្នុងតំបន់ ហើយ shExpMatch ប្រើលំនាំបែប shell។ stub ដែលត្រឡប់តម្លៃងាយស្រួលអាចជ្រើសផ្លូវខុសដោយស្ងៀមស្ងាត់។
បន្ទាប់ពីការចាប់ផ្តើមនោះរួចរាល់ ការហៅស្នូលអាចមើលទៅដូចនេះក្នុង Jint 4.4.0៖
var destination = new Uri(destinationUrl);
engine.Execute(pacSource);
var routeList = engine.Invoke(
"FindProxyForURL",
destinationUrl,
destination.IdnHost
).AsString();engine គឺជា Jint.Engine ដែលបានកំណត់រចនាសម្ព័ន្ធ; pacSource គឺជាកម្មវិធី PAC ដែលបានទាញយក។ destination.IdnHost ផ្តល់ឈ្មោះម៉ាស៊ីនដោយគ្មានច្រក ឬផ្លូវ។ ការហៅនេះមិនទាញយក PAC ហើយមិនបើកការតភ្ជាប់ប្រូកស៊ីទេ។
បន្ទាប់ពីការហៅ
បកស្រាយលទ្ធផលដូចជា PROXY proxy.example:8080; DIRECT ជា បញ្ជីតម្រៀបនៃបេក្ខជនផ្លូវ និងជម្រើសបម្រុង។ ការផ្ញើខ្សែអក្សរទាំងមូលជា URL ប្រូកស៊ីធ្វើឱ្យបាត់អត្ថន័យរបស់វា។ ញែកការបរាជ័យនៃការវាយតម្លៃចេញពីលទ្ធផល DIRECT ច្បាស់លាស់។
ពេលវាដំណើរការ
កំណត់រចនាសម្ព័ន្ធដែនកំណត់របស់ Jint លើរយៈពេល សេចក្តីថ្លែងការណ៍ អង្គចងចាំ និងការបោះបង់ ហើយបង្ហាញតែមុខងារម៉ាស៊ីនចាំបាច់។ កំណត់ការឆ្លើយតប DNS ដោយឡែក៖ ការត្រួតពិនិត្យការប្រតិបត្តិ JavaScript មិនធ្វើឱ្យការហៅម៉ាស៊ីនរារាំងតាមអំពើចិត្តអាចបំផ្លាញបានទេ។ ធ្វើឱ្យការចូលម៉ាស៊ីនប្រតិបត្តិមានលំដាប់ ឬផ្តល់ឱ្យការងារស្របគ្នានូវឧទាហរណ៍ដែលមានកម្មសិទ្ធិដោយឡែក; ម៉ាស៊ីនប្រតិបត្តិមិនមានសុវត្ថិភាពសម្រាប់ការប្រើពេលតែមួយទេ។
ការអនុវត្ត PAC នៅក្នុងកម្មវិធីរុករកអាចខុសគ្នាតាមផ្នែកបន្ថែមអ្នកជំនួយ និងព័ត៌មានលម្អិត URL ដែលពួកវាបង្ហាញ ជាពិសេសសម្រាប់ HTTPS។ ការផ្គូផ្គងលទ្ធផលគំរូមួយបញ្ជាក់តិចជាងការផ្គូផ្គងឥរិយាបថនៃការបញ្ជូនផ្លូវរបស់កម្មវិធីរុករក។