XmlHttp Demande L'Authentification De Base Problème
J'ai le code suivant qui crée un serverside objet de la xmlhttp classe. Je suis en train d'essayer de se connecter à un site qui requiert une authentification de base. Je suis en mesure d'obtenir que cela fonctionne avec le code ci-dessous.
Quel est le problème? Eh bien, je suis de passage les informations d'identification à l'aide de l'appel d'offres ouvert. Cela n'est pas suffisant. Je dois aussi définir l'en-tête d'autorisation avec le calcul manuel des encodées en base64 nom d'utilisateur:mot de passe combinaison. Si j'essaie de définir l'en-tête sans passer les informations d'identification de l'appel d'offres ouvert, il échoue. Appelez-moi fou, mais quand je passe les informations d'identification pour l'ouvrir, c'est tout ce que je devais faire. Si je la tête, c'est tout ce que je devais faire. Droit? Faire les deux semble être quelque chose n'est pas droite. Droit?
Est-ce un bug ou un problème?
Obtenir de plus amples renseignements:
IIS 5 & ASP Classique
L'erreur reçus lorsque l'un des deux éléments est omis est un État HTTP 401:
"Vous n'êtes pas autorisé à afficher cette page
Vous n'avez pas l'autorisation d'afficher ce répertoire ou cette page en utilisant les informations d'identification que vous avez fournies car votre navigateur Web envoie-tête WWW-Authenticate domaine que le serveur Web n'est pas configuré pour accepter."
Depuis IIS est faire la demande, je ne suis pas en mesure d'inspecter avec Fiddler 🙁
Set xmlhttp = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0")
xmlhttp.setTimeouts 5000, 5000, 10000, 10000 'ms - resolve, connect, send, receive
xmlhttp.open "GET", "http://example.com/", False, "username", "password"
xmlhttp.setRequestHeader "Authorization", "Basic dXNlcm5hbWU6cGFzc3dvcmQ="
xmlhttp.send
Bien que l'OP aurait besoin de le faire que sur le serveur IIS qu'il peut ou peut ne pas avoir l'autorisation de le faire.
OriginalL'auteur Bennett Dill | 2009-08-31
Vous devez vous connecter pour publier un commentaire.
Je crois que vous êtes frapper cette limitation connue (ou bug) qui se résument à msxml2 manque (ou incorrect) l'appui à la "négocié" les mécanismes d'authentification, ce qui signifie que vous avez à la force de la question (contourner le mal mené la négociation) exactement par l'ajout de l'en-tête d'autorisation vous-même que vous êtes en train de faire.
À l'aide de la WinHTTP objet COM directement a ce même problème. Je ne peux pas croire que cela n'a pas été résolu il y a longtemps.
OriginalL'auteur Alex Martelli