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
Vous pouvez certainement inspecter ces demandes avec un violon. ServerXMLHTTP est basé sur WinHTTP; voir fiddler2.com/fiddler/help/hookup.asp#Q-WinHTTP
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