Windows Server 2008 和 Windows Vista 的新功能

從 Windows Server 2008 和 Windows Vista 開始,已增強 WinHTTP API 以包含下列功能。

大於 4 GB 上傳。

WinHttpSendRequest 只能傳送 4 GB 的資料,因為 DWORD 總長度參數的大小有限制。 若要讓應用程式傳送超過 4 GB 的資料,Content-Length 標頭會新增至要求,以LARGE_INTEGER (2^64 個位元組) 指定資料。 如需詳細資訊,請參閱 WinHttpSendRequestIWinHttpRequest COM 物件不支援此功能。

Transfer-Encoding標頭

Transfer-Encoding標頭可讓應用程式將區塊化資料傳送至伺服器。 當要求上有Transfer-Encoding標頭時,應用程式會在 呼叫 WinHttpSendRequest時,以零長度實體主體傳送要求。 實體主體會在後續呼叫 WinHttpWriteData時傳送。 IWinHttpRequest COM 物件不支援此功能。

SSL 用戶端憑證簽發者清單擷取

WinHttpSendRequest 失敗並 出現ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED時,應用程式可以擷取 SSL 用戶端憑證簽發者清單。 新的選項 WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST可讓應用程式擷取憑證簽發者清單,並篩選清單以取得最佳憑證。 如需詳細資訊,請參閱 SSL 用戶端驗證 的選項旗標簽發者清單擷取 主題。 IWinHttpRequest COM 物件不支援此功能。

選擇性用戶端憑證

WinHttpSendRequest 失敗 並出現ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED時,伺服器可能不需要 SSL 用戶端憑證。 伺服器可以還原為另一種形式的驗證,或允許用戶端繼續進行匿名存取。 應用程式會設定 WINHTTP_OPTION_CLIENT_CERT_CONTEXT 選項,並指定 WinHttp 用來判斷是否需要用戶端憑證的宏。 如需詳細資訊,請參閱 選項旗標IWinHttpRequest COM 物件不支援此功能。

來源和目的地 IP 位址

WinHttpReceiveResponse完成時,應用程式可以擷取產生回應之要求的來源和目的地 IP 位址和埠。 當 設定 WINHTTP_OPTION_CONNECTION_INFO 選項時,會提供新的 結構來接收來源和目的地位址。 如需詳細資訊,請參閱 選項旗標IWinHttpRequest COM 物件不支援此功能。

其他 SSL 用戶端驗證錯誤

其他 SSL 用戶端驗證錯誤提供有關 SSL 用戶端憑證的詳細資訊。 ERROR_WINHTTP_CLIENT_CERT_NO_PRI加值稅E_KEYERROR_WINHTTP_CERT_NO_ACCESS_PRI加值稅E_KEY 用戶端憑證錯誤是 Windows Server 2008 和 Windows Vista 的新功能。 IWinHttpRequest COM 物件會在 HRESULT 中傳回這些錯誤。