2010-04-07 5 views
3

J'utilise VBScript et l'objet Microsoft.XMLHTTP pour récupérer certaines données Web. J'ai une liste d'URL à vérifier, mais malheureusement certains d'entre eux redirigent vers d'autres sur la liste, donc je me retrouve avec des données redondantes.Pouvez-vous détecter une redirection 301 avec l'objet Microsoft.XMLHTTP?

Est-il possible de faire échouer l'objet XMLHTTP sur la redirection 301? Ou au moins mettre en cache l'en-tête de réponse d'origine? Ou sinon laissez-moi savoir ce qui est arrivé? (Notes: Je n'ai aucun contrôle sur le serveur dont je demande des données, quand je reçois de nouvelles données, je pourrais vérifier si c'est redondant, mais je voudrais éviter cela si possible).

Toutes les idées seraient grandement appréciées.

Répondre

2

Premièrement, le ProgId que vous devriez utiliser est MSXML2.XMLHTTP.

La réponse est, Non - MSXML2.XMLHTTP suit automatiquement les redirections.

Si vous devez suivre et éventuellement ne pas suivre les redirections, vous pouvez utiliser l'objet WinHttp.WinHttpRequest, qui, comme MSXML2.XMLHTTP est accessible aux scripts. En fait, c'est l'objet auquel MSXML2.XMLHTTP délègue, pour le chargement http. Vous devez définir WinHttpRequestOptions sur EnableRedirects. Pour plus d'informations, voir this Q&A on social.msdn.microsoft.com.

+0

Très bien. Merci pour la contribution! – dmb