ವಿನಂತಿ ಹ್ಯಾಂಡಲ್ನಲ್ಲಿ WinHTTP ಪ್ರಾಕ್ಸಿ ಸವಾಲಿಗೆ ಉತ್ತರಿಸುವುದು
ಪ್ರಾಕ್ಸಿ ದೃಢೀಕರಣ ಗುರಿ ಮತ್ತು ಬೆಂಬಲಿತ ನೀಡಲಾದ ಸ್ಕೀಮ್ನೊಂದಿಗೆ WinHttpSetCredentials ಬಳಸಿ, ನಂತರ ವಿನಂತಿಯನ್ನು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ.
WinHTTP ವಿನಂತಿಯು 407 ಸ್ವೀಕರಿಸಿದ ನಂತರ, ನೀಡಲಾದ ವಿಧಾನಗಳನ್ನು ಪರಿಶೀಲಿಸಲು WinHttpQueryAuthSchemes ಬಳಸಿ ಮತ್ತು ಕ್ಲೈಂಟ್ ಹಾಗೂ ಖಾತೆ ಎರಡೂ ಬೆಂಬಲಿಸುವ ಒಂದನ್ನು ಆಯ್ಕೆಮಾಡಿ. ಆ ವಿನಂತಿಯಲ್ಲಿ ರುಜುವಾತುಗಳನ್ನು ಹೊಂದಿಸಿ:
WinHttpSetCredentials(
requestHandle,
WINHTTP_AUTH_TARGET_PROXY,
selectedScheme,
proxyUser,
proxyPassword,
nullptr);
ಕೊನೆಯ ಕಾಯ್ದಿರಿಸಿದ ಆರ್ಗ್ಯುಮೆಂಟ್ null ಆಗಿರಬೇಕು. ಬೂಲಿಯನ್ ಫಲಿತಾಂಶವನ್ನು ಮತ್ತು ವಿಫಲವಾದಾಗ GetLastError ಪರಿಶೀಲಿಸಿ. ಯಶಸ್ಸು ಎಂದರೆ API ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಸ್ವೀಕರಿಸಿದೆ, ಪ್ರಾಕ್ಸಿ ಲಾಗಿನ್ ಅನ್ನು ಸ್ವೀಕರಿಸಿದೆ ಎಂದಲ್ಲ.
ನಿಯಂತ್ರಿತ ದೃಢೀಕರಣ ಹರಿವಿನ ಮೂಲಕ ಮತ್ತೆ ಕಳುಹಿಸಿ ಮತ್ತು ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಪರಿಶೀಲಿಸಿ. ಪುನರಾವರ್ತನೆಗಳನ್ನು ಮಿತಿಗೊಳಿಸಿ; ಕಾರ್ಯಾಚರಣೆ ಪುನರಾವರ್ತನೆಯಾದರೆ ಈಗಾಗಲೇ ಬಳಸಿದ ವಿನಂತಿ-ಬಾಡಿ ಸ್ಟ್ರೀಮ್ ಮರುಪ್ಲೇ ಆಗಬಲ್ಲದಾಗಿರಬೇಕು. ಗಮ್ಯಸ್ಥಾನದ 401 WINHTTP_AUTH_TARGET_SERVER ಬಳಸುತ್ತದೆ, ಇದು ಈ ಪ್ರಾಕ್ಸಿ ಗುರಿಗಿಂತ ಭಿನ್ನವಾಗಿದೆ.
ಈ ರುಜುವಾತುಗಳು ಒಂದೇ ವಿನಂತಿಗೆ ಅನ್ವಯಿಸುತ್ತವೆ. WinHTTP ಅವುಗಳನ್ನು ಮುಂದಿನ ವಿನಂತಿಗಳಿಗೆ ಸಾಮಾನ್ಯ ರುಜುವಾತು ಸಂಗ್ರಹವನ್ನಾಗಿ ಮಾಡುವುದಿಲ್ಲ. ಮರುಬಳಕೆಯಾದ ದೃಢೀಕೃತ ಸಂಪರ್ಕಗಳು ಇನ್ನೊಂದು ಸವಾಲನ್ನು ತಾತ್ಕಾಲಿಕವಾಗಿ ಮರೆಮಾಡಬಹುದು, ಆದ್ದರಿಂದ ಅಪ್ಲಿಕೇಶನ್ ಭವಿಷ್ಯದ ಸವಾಲುಗಳನ್ನೂ ನಿಭಾಯಿಸಬೇಕು.
ಪ್ರಾಕ್ಸಿ ಆಯ್ಕೆಯನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿರಿಸಿ. ರುಜುವಾತುಗಳನ್ನು ಹೊತ್ತಿರುವ ವಿಳಾಸ ಸ್ಟ್ರಿಂಗ್ ಈ ವಿನಂತಿ-ಹ್ಯಾಂಡಲ್ API ಅನ್ನು ಬದಲಿಸುವುದಿಲ್ಲ, ಎಂಡ್ಪಾಯಿಂಟ್ಗೆ ಯಶಸ್ವಿಯಾಗಿ ತಲುಪುವುದು ದೃಢೀಕರಣವನ್ನು ಪೂರ್ಣಗೊಳಿಸದಂತೆಯೇ.