WinHTTP მოთხოვნა ავთენტიფიცირდება პროქსისთან, იღებს საიტის 401-ს და შემდეგ მომდევნო გაგზავნისას კიდევ 407-ს იღებს. პროქსისა და საიტს ცალკე ავთენტიფიკაციის მდგომარეობა აქვთ, და ხელახალი გაგზავნის გზამ ორივე უნდა შეინარჩუნოს.

Microsoft-ის მკვიდრი WinHTTP ავთენტიფიკაციის ნიმუში არჩეულ პროქსის სქემას ცვლადში ინახავს და ამ სქემის არჩევის შემდეგ ყოველი WinHttpSendRequest-ის წინ პროქსის ანგარიშს ხელახლა იყენებს.

  1. გაგზავნეთ მოთხოვნა და შეამოწმეთ პასუხი.
  2. 407-ისთვის ჰკითხეთ შეთავაზებულ სქემებს და დაიმახსოვრეთ არჩეული პროქსის სქემა.
  3. ხელახალი გაგზავნის წინ გამოიძახეთ WinHttpSetCredentials WINHTTP_AUTH_TARGET_PROXY-ისთვის ამ სქემითა და ანგარიშით.
  4. მიმართულების 401-ისთვის მიიღეთ მისი სქემა და დააყენეთ სერვერის რწმუნებები, ხოლო დამახსოვრებული პროქსის მდგომარეობა შემდეგი გაგზავნისთვის შეინარჩუნეთ.

ნიმუში კონკრეტულად აღნიშნავს სერვერის გამოწვევის ან გადამისამართების შემდეგ ხელახალ ავთენტიფიკაციას პროქსის რწმუნებების ხელახლა გამოყენების მიზეზად. გამოძახების მხოლოდ პირველ 407 შტოში მოთავსებამ სხვა ხელახალი ცდის გზა მოსალოდნელი მოწყობის გარეშე დატოვოს შეიძლება.

შეამოწმეთ ყოველი API შედეგი და შეზღუდეთ განმეორებადი წარუმატებლობები. Microsoft-ის კომპაქტური ნიმუში წინა მდგომარეობას ადევნებს, ხოლო წარმოების ხელახალი ცდის პოლიტიკამ განმეორებადი მონაცვლე მიმდევრობაც უნდა ამოიცნოს.

თუ წარუმატებლობის შემდეგ მომხმარებელი შემცვლელ ანგარიშს მოგვცემს, განაახლეთ ის მნიშვნელობები, რომლებსაც ეს ხელახალი გაგზავნის გზა იყენებს. WinHttpSetCredentials მოთხოვნაზეა მიბმული; ეს არ არის პროცესის დონის პაროლების საცავი, რომლის შიგთავსიც ყველა მომავალი მოთხოვნისთვის შეიცვლება.

დაკავშირებული სტატიები