webForumDet fria alternativet

Passa credentials till anrop med MSXML2.XMLHTTP(.3.0)

XML

0 svar · 1 376 visningar · startad av OveRRidE

Medlem sedan feb. 200112 078 inlägg
Frågan#1

Jag skickar XML-requests till en server med MSXML2.XMLHTTP och MSXML2.XMLHTTP.3.0, men får HTTP svar 401 (Unauthorized) om jag inte anger credentials i klartext i anropet av .Open(). Specifikationen på MSXML2.XMLHTTP klargör att det är så man autentiserar, om man inte använder certifikat, vilket jag inte kan göra.

Det är ju inte så roligt att ha credentials i klartext i ett script, varför jag vill passa den automatiskt från den identitet som exekverar scriptet (VBScript). Jag misstänker att det inte går med detta objekt, så är det någon som har något förslag på ett annat XML-interface i Windows som faktiskt klarar det?

Tack på förhand!

Koden ser ut såhär i nuläget:

Set XMLhttp = CreateObject("MSXML2.ServerXMLHTTP.3.0")
XMLhttp.Open "POST", URL, False
XMLhttp.Send strRequest

Med auth i .Open() ser den raden ut såhär:

XMLhttp.Open "POST", URL, False

I övrigt tycker jag faktiskt att det är lute lustigt att det inte fungerar per automatik. Jag vet att jag är autentiserad, då jag kan anropa C#-kod med liknande metoder och där använder jag True på flaggan "UseDefaultCredentials".

261 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)