បន្ទាប់ពីសំណើ WinHTTP ទទួលបាន 407 សូមប្រើ WinHttpQueryAuthSchemes ដើម្បីពិនិត្យវិធីសាស្ត្រដែលបានផ្តល់ជូន ហើយជ្រើសរើសមួយដែលអតិថិជន និងគណនីគាំទ្រ។ កំណត់ព័ត៌មានសម្គាល់លើសំណើនោះ៖

WinHttpSetCredentials(
    requestHandle,
    WINHTTP_AUTH_TARGET_PROXY,
    selectedScheme,
    proxyUser,
    proxyPassword,
    nullptr);

អាគុយម៉ង់បម្រុងចុងក្រោយត្រូវតែជា null។ ពិនិត្យលទ្ធផលប៊ូលីន ហើយនៅពេលបរាជ័យ GetLastError។ ជោគជ័យមានន័យថា API បានទទួលយកការកំណត់ មិនមែនមានន័យថា proxy បានទទួលយកការចូលនោះទេ។

ផ្ញើឡើងវិញតាមលំហូរផ្ទៀងផ្ទាត់ដែលបានគ្រប់គ្រង ហើយពិនិត្យការឆ្លើយតប។ កំណត់ចំនួនព្យាយាមឡើងវិញ; លំហូរតួសំណើដែលបានប្រើរួចហើយត្រូវតែអាចចាក់ឡើងវិញបាន ប្រសិនបើប្រតិបត្តិការត្រូវបានធ្វើម្តងទៀត។ ការឆ្លើយតប 401 ពីគោលដៅប្រើ WINHTTP_AUTH_TARGET_SERVER ដែលខុសពីគោលដៅ proxy នេះ។

ព័ត៌មានសម្គាល់ទាំងនេះអនុវត្តចំពោះសំណើតែមួយ។ WinHTTP មិនធ្វើឱ្យពួកវាក្លាយជាឃ្លាំងព័ត៌មានសម្គាល់ទូទៅសម្រាប់សំណើក្រោយៗទេ។ ការតភ្ជាប់ដែលបានផ្ទៀងផ្ទាត់ ហើយប្រើឡើងវិញអាចបិទបាំងការប្រកួតប្រជែងមួយផ្សេងទៀតជាបណ្តោះអាសន្ន ដូច្នេះកម្មវិធីនៅតែត្រូវដោះស្រាយការប្រកួតប្រជែងនាពេលអនាគត។

រក្សាការជ្រើសរើស proxy ដោយឡែក។ ខ្សែអក្សរអាសយដ្ឋានដែលផ្ទុកព័ត៌មានសម្គាល់មិនជំនួស API ចំណុចកាន់កាប់សំណើនេះទេ ដូចគ្នានឹងការទៅដល់ចំណុចបញ្ចប់ដោយជោគជ័យមិនបញ្ចប់ការផ្ទៀងផ្ទាត់ដែរ។

អត្ថបទពាក់ព័ន្ធ