Trả lời thử thách proxy WinHTTP trên handle yêu cầu
Dùng WinHttpSetCredentials với đích xác thực proxy và một lược đồ được đề nghị và hỗ trợ, rồi thử lại yêu cầu một cách có chủ đích.
Sau khi một yêu cầu WinHTTP nhận được 407, hãy dùng WinHttpQueryAuthSchemes để xem xét các phương thức được đề nghị và chọn một phương thức mà cả ứng dụng khách và tài khoản đều hỗ trợ. Đặt thông tin xác thực trên yêu cầu đó:
WinHttpSetCredentials(
requestHandle,
WINHTTP_AUTH_TARGET_PROXY,
selectedScheme,
proxyUser,
proxyPassword,
nullptr);
Đối số dự trữ cuối cùng phải là null. Kiểm tra kết quả Boolean và khi thất bại thì kiểm tra GetLastError. Thành công nghĩa là API đã chấp nhận thiết lập, không phải proxy đã chấp nhận đăng nhập.
Gửi lại qua một luồng xác thực có kiểm soát và xem xét phản hồi. Giới hạn số lần thử lại; luồng nội dung yêu cầu đã bị dùng hết phải có thể phát lại nếu thao tác được lặp lại. Phản hồi 401 từ đích dùng WINHTTP_AUTH_TARGET_SERVER, khác với đích proxy này.
Thông tin xác thực này chỉ áp dụng cho một yêu cầu. WinHTTP không biến chúng thành kho thông tin xác thực chung cho các yêu cầu sau. Các kết nối đã xác thực được dùng lại có thể tạm thời che giấu một thử thách khác, vì vậy ứng dụng vẫn phải xử lý các thử thách trong tương lai.
Giữ việc chọn proxy tách riêng. Chuỗi địa chỉ mang thông tin xác thực không thay thế API handle yêu cầu này, cũng như việc đến được điểm cuối thành công không hoàn tất xác thực.