Ateb her dirprwy WinHTTP ar handlen y cais
Defnyddiwch WinHttpSetCredentials gyda tharged dilysu'r dirprwy a chynllun a gynigir ac a gefnogir, yna ailgynnig y cais yn fwriadol.
Ar ôl i gais WinHTTP dderbyn 407, defnyddiwch WinHttpQueryAuthSchemes i archwilio'r dulliau a gynigir ac i ddewis un sy'n cael ei gefnogi gan y cleient a'r cyfrif. Gosodwch y manylion mewngofnodi ar y cais hwnnw:
WinHttpSetCredentials(
requestHandle,
WINHTTP_AUTH_TARGET_PROXY,
selectedScheme,
proxyUser,
proxyPassword,
nullptr);
Rhaid i'r dadl gadw olaf fod yn null. Gwiriwch y canlyniad Boole a, phan fydd yn methu, GetLastError. Mae llwyddiant yn golygu bod yr API wedi derbyn y gosodiad, nid bod y dirprwy wedi derbyn y mewngofnodi.
Ailanfonwch drwy lif dilysu rheoledig ac archwiliwch yr ymateb. Cyfyngwch yr ailgeisiadau; rhaid i lif corff cais sydd eisoes wedi'i ddefnyddio fod yn ailchwaraeadwy os ailadroddir y llawdriniaeth. Mae 401 o'r cyrchfan yn defnyddio WINHTTP_AUTH_TARGET_SERVER, yn wahanol i'r targed dirprwy hwn.
Mae'r manylion mewngofnodi hyn yn berthnasol i un cais yn unig. Nid yw WinHTTP yn eu gwneud yn storfa manylion mewngofnodi gyffredinol ar gyfer ceisiadau diweddarach. Gall cysylltiadau dilysedig a ailddefnyddir guddio her arall dros dro, felly rhaid i'r cymhwysiad barhau i drin heriau yn y dyfodol.
Cadwch ddewis y dirprwy ar wahân. Nid yw llinyn cyfeiriad sy'n cario manylion mewngofnodi yn disodli'r API handlen cais hwn, yn union fel nad yw cyrraedd y pen draw'n llwyddiannus yn cwblhau dilysu.