Publicité
+ Répondre à la discussion
Page 1 sur 2 12 DernièreDernière
Affichage des résultats 1 à 20 sur 21
  1. #1
    Expert Confirmé Avatar de pc75
    Profil pro
    Inscrit en
    septembre 2004
    Messages
    3 475
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : septembre 2004
    Messages : 3 475
    Points : 3 809
    Points
    3 809

    Par défaut Erreur avec MSXML2.ServerXMLHTTP

    Bonjour,

    Voilà le code que j'essaie d'utiliser :

    Code :
    1
    2
    3
    4
    5
    6
    7
     
    MyUrl = "http://www.google.fr"
    Set xmlhttp = Server.CreateObject("MSXML2.ServerXMLHTTP")
    xmlhttp.open "GET", MyUrl, False
    xmlhttp.send ""
    Response.Write xmlhttp.responseText
    Set xmlhttp = Nothing
    Et je reçois cette erreur :
    msxml3.dll erreur '80072ee2'
    The operation timed out
    Quelqu'un voit où je me suis raté ?

    Merci.
    Par principe, je ne réponds pas aux messages URGENT.
    Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
    Pas de questions techniques en MP.

  2. #2
    Membre Expert
    Inscrit en
    décembre 2003
    Messages
    991
    Détails du profil
    Informations forums :
    Inscription : décembre 2003
    Messages : 991
    Points : 1 767
    Points
    1 767

    Par défaut

    Tu as cette erreur à la ligne 4 ?

  3. #3
    Expert Confirmé Avatar de pc75
    Profil pro
    Inscrit en
    septembre 2004
    Messages
    3 475
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : septembre 2004
    Messages : 3 475
    Points : 3 809
    Points
    3 809

    Par défaut

    Citation Envoyé par fredoche Voir le message
    Tu as cette erreur à la ligne 4 ?
    Non, c'est la ligne 5 => xmlhttp.send ""
    Par principe, je ne réponds pas aux messages URGENT.
    Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
    Pas de questions techniques en MP.

  4. #4
    Membre Expert
    Inscrit en
    décembre 2003
    Messages
    991
    Détails du profil
    Informations forums :
    Inscription : décembre 2003
    Messages : 991
    Points : 1 767
    Points
    1 767

    Par défaut

    J'ai testé ton code, pas de souci

    je chercherai bien du coté d'un problème réseau pour la machine qui exécute le script, problème de connexion à google depuis cette machine.

  5. #5
    Expert Confirmé Avatar de pc75
    Profil pro
    Inscrit en
    septembre 2004
    Messages
    3 475
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : septembre 2004
    Messages : 3 475
    Points : 3 809
    Points
    3 809

    Par défaut

    Citation Envoyé par fredoche Voir le message
    J'ai testé ton code, pas de souci

    je chercherai bien du coté d'un problème réseau pour la machine qui exécute le script, problème de connexion à google depuis cette machine.
    Pourtant avec ce code asp, ça fonctionne
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    <HTML>
    <HEAD>
    </HEAD>
    <BODY>
     
    <SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
    <!--
     
    function XMLHTTPButton_onclick() {
    	var DataToSend = "id=1";
    	var MyUrl = "http://www.google.fr";
     
    	var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    	xmlhttp.Open("GET",MyUrl,false);
    	xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    	xmlhttp.send(DataToSend);
    	//alert(xmlhttp.responseText);
    	document.getElementById("Contenu").value = xmlhttp.responseText;
    }
     
    //-->
    </SCRIPT>
     
    <INPUT type="button" value="Submit XMLHTTP" id=XMLHTTPButton name=XMLHTTPButton 
    LANGUAGE=javascript onclick="return XMLHTTPButton_onclick()">
     
    <input type="text" name="Contenu" id="Contenu" size="500">
    </BODY>
    </HTML>
    Si je lance ce vbs sur le serveur, ça fonctionne aussi
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
      Set xmlhttp = CreateObject("Microsoft.XMLHTTP")
      ' Or, for version 3.0 of XMLHTTP, use:
    '   Set xmlhttp = Server.CreateObject("MSXML2.ServerXMLHTTP")
      ' Opens the connection to the remote server.
    MyUrl = "http://www.caradisiac.com/service/itineraire/?iti-start-way=&iti-start-postal_code=85460&iti-start-town=&iti-start-country_code=France&iti-end-way=&iti-end-postal_code=85000&iti-end-town=&iti-end-country_code=France"
     
    MyUrl = "http://www.google.fr"
      xmlhttp.Open "GET", MyUrl, False
       ', "population3\crosniep", "Vendee85"
      ' Actually Sends the request and returns the data:
     
    	xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
      xmlhttp.send("")
     
      msgbox xmlhttp.responseText
     Set xmlhttp = Nothing
    Enfin, si j'exécute cette page asp, j'obtiens
    msxml3.dll erreur '800c0005'
    Erreur système : -2146697211.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
     
    MyUrl = "http://www.google.fr"
      Set xmlhttp = Server.CreateObject("Microsoft.XMLHTTP")
    xmlhttp.open "GET", MyUrl, False
    xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    xmlhttp.send ""
    Response.Write xmlhttp.responseText
    Set xmlhttp = Nothing
    J'avoue que j'ai du mal à comprendre
    Par principe, je ne réponds pas aux messages URGENT.
    Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
    Pas de questions techniques en MP.

  6. #6
    Membre Expert
    Inscrit en
    décembre 2003
    Messages
    991
    Détails du profil
    Informations forums :
    Inscription : décembre 2003
    Messages : 991
    Points : 1 767
    Points
    1 767

    Par défaut

    désolé de ne pouvoir t'aider

    je passais simplement par là.

    en tout cas pour moi le 1er ne fonctionne pas, sous FF, erreur sur activeXobject, sous IE9, erreur Permission refusée sur la ligne
    Code :
    xmlhttp.Open("GET",MyUrl,false);
    le 3e code sous asp fonctionne, pas de soucis

    essaye peut être de changer l'url requêtée dans un 1er temps, pour aller cher chercher du contenu local depuis ton serveur web et ce script asp.

    Tes 3 tests utilisent différents contextes de sécurité, le 1er sur ton navigateur, le 2nd si tu lances un VBS sous ta session, même si c'est sur le serveur, le 3e doit surement utiliser l'impersonnalisation du type IUSR ou IWAM

  7. #7
    Expert Confirmé Avatar de pc75
    Profil pro
    Inscrit en
    septembre 2004
    Messages
    3 475
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : septembre 2004
    Messages : 3 475
    Points : 3 809
    Points
    3 809

    Par défaut

    Faut-il donner des droits (ntfs ou iis) particuliers ?
    Par principe, je ne réponds pas aux messages URGENT.
    Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
    Pas de questions techniques en MP.

  8. #8
    Membre Expert
    Inscrit en
    décembre 2003
    Messages
    991
    Détails du profil
    Informations forums :
    Inscription : décembre 2003
    Messages : 991
    Points : 1 767
    Points
    1 767

    Par défaut

    Je ne sais pas trop à vrai dire...

    Ce que tu peux essayer de faire, c'est de changer les droits avec lesquels sont exécutés ton script ASP.

    tu peux pour cela ajouter ce genre d'instructions au web.config du répertoire du fichier :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
     
    <system.webServer>
            <security>
                <authentication>
                    <anonymousAuthentication enabled="false" />
                </authentication>
            </security>
        </system.webServer>
    tu seras ensuite prompté pour saisir un compte valide sur le serveur.
    ton script sera exécuté avec les droits de ce compte et non avec les droits de l'utilisateur anonyme.

    c'est un test, déja tu verras si le problème est lié ou non à l'impersonnalisation du script

    Si je suis pas clair, n'hésite pas

  9. #9
    Expert Confirmé Avatar de pc75
    Profil pro
    Inscrit en
    septembre 2004
    Messages
    3 475
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : septembre 2004
    Messages : 3 475
    Points : 3 809
    Points
    3 809

    Par défaut

    Ca me parait clair, mais je suis en ASP classique (pas .net).
    Par principe, je ne réponds pas aux messages URGENT.
    Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
    Pas de questions techniques en MP.

  10. #10
    Membre Expert
    Inscrit en
    décembre 2003
    Messages
    991
    Détails du profil
    Informations forums :
    Inscription : décembre 2003
    Messages : 991
    Points : 1 767
    Points
    1 767

    Par défaut

    Ce que je te propose est bien pour de l'asp classique, c'est juste des directives de configuration à appliquer sur IIS7, qui désactive l'accès anonyme, ce qui fait que tu dois te logguer avec un compte reconnu par le système, local, ou bien plus généralement par ta sécurité active directory.

    tes scripts sur un serveur IIS sont exécutés avec des droits, qui quand l'accès anonyme est autorisé, sont les droits de IUSR_nomdupc en principe, et une fois que tu es loggué avec un compte, les droits de ce compte.
    C'est ce qu'on appelle l'impersonnalisation il me semble.

    Avec IIS6, il suffit de désactiver l'accès anonyme sur la ressource, et tu auras le même résultat.


    Dis nous en plus sur ta config, ce sur quoi tu testes ton script peut être ?

    Mais avant cela, plutôt que d'essayer de charger google.fr, essaie simplement de charger une page locale, un simple test.html dans le même rep que ton script ASP.

    Voilà je t'emmène peut être loin, mais c'est les tests que je ferais, en commençant par le contenu local, car dans le même rep, tu as en principe les mêmes droits. Donc tu peux voir si ton problème est lié de près ou de loin à des droits.

  11. #11
    Expert Confirmé Avatar de pc75
    Profil pro
    Inscrit en
    septembre 2004
    Messages
    3 475
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : septembre 2004
    Messages : 3 475
    Points : 3 809
    Points
    3 809

    Par défaut

    La config :

    windows server 2003 / sp2
    IIS6

    Si j'essaie d'atteindre une simple page html du même répertoire, ça fonctionne.

    Pour la méthode d'authentification, la connexion anonyme est bien cochée.
    Par ailleurs, j'ai créé un utilisateur que j'ai mis dans le groupe Administrateurs. J'ai remplacé le compte IUSR_xxx par ce nouveau utilisateur pour la connexion anonyme. Je lui ai mis en plus controle total, mais ça ne passe toujours pas.
    Par principe, je ne réponds pas aux messages URGENT.
    Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
    Pas de questions techniques en MP.

  12. #12
    Membre Expert
    Inscrit en
    décembre 2003
    Messages
    991
    Détails du profil
    Informations forums :
    Inscription : décembre 2003
    Messages : 991
    Points : 1 767
    Points
    1 767

    Par défaut

    Citation Envoyé par pc75 Voir le message

    Pour la méthode d'authentification, la connexion anonyme est bien cochée.
    Par ailleurs, j'ai créé un utilisateur que j'ai mis dans le groupe Administrateurs. J'ai remplacé le compte IUSR_xxx par ce nouveau utilisateur pour la connexion anonyme. Je lui ai mis en plus controle total, mais ça ne passe toujours pas.
    Je présume que tu es conscient que c'est super "chaud" de faire comme ça, hors tests j'entends.

    J'imagine que ça a marché avec un truc du genre :
    maintenant avec
    Code :
    MyUrl = "http://localhost/chemin/test.html"
    c'est à dire en forçant une connexion http, sur l'adresse locale correspondante

    J'ai un IIS6/ win2003, je vais tester dessus pour voir

  13. #13
    Membre Expert
    Inscrit en
    décembre 2003
    Messages
    991
    Détails du profil
    Informations forums :
    Inscription : décembre 2003
    Messages : 991
    Points : 1 767
    Points
    1 767

    Par défaut

    Non bah ça marche sur win2003/IIS6, que ce soit le 1er ou le 2e code que tu as posté
    sans session, avec l'utilisateur anonyme, sur 2 machines différentes dans 2 réseaux totalement différents.

    T'as pas un URLscan ou un firewall pointilleux avec une config bizarre des fois ?

  14. #14
    Expert Confirmé Avatar de pc75
    Profil pro
    Inscrit en
    septembre 2004
    Messages
    3 475
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : septembre 2004
    Messages : 3 475
    Points : 3 809
    Points
    3 809

    Par défaut

    J'avais fait le test avec
    MyUrl = "http://MonServeur/MonSite/test.htm"
    Le pare feu est désactivé sur le serveur. Par contre, je suis derrière un proxy.
    Par principe, je ne réponds pas aux messages URGENT.
    Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
    Pas de questions techniques en MP.

  15. #15
    Expert Confirmé Avatar de pc75
    Profil pro
    Inscrit en
    septembre 2004
    Messages
    3 475
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : septembre 2004
    Messages : 3 475
    Points : 3 809
    Points
    3 809

    Par défaut

    J'ai répondu un peu vite.

    Quand j'ai dit que ça fonctionnait avec
    MyUrl = "http://MonServeur/MonSite/test.htm"
    en fait, ça m'affiche la page. Or je cherche à récupérer le code source (html) de cette page.
    Par principe, je ne réponds pas aux messages URGENT.
    Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
    Pas de questions techniques en MP.

  16. #16
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    avril 2007
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : avril 2007
    Messages : 1 473
    Points : 1 938
    Points
    1 938

    Par défaut

    Bonjour

    Puisque tu fais un Response.Write, il est normal que cela s'affiche...

    Essaie de jouer sur les timeouts de l'objet

    xmlHttp.setTimeouts x, y, z, t
    doc

    remarque :
    Pourtant avec ce code asp, ça fonctionne
    tu nous présente un script client ... pas d'asp, donc


    " La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
    (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

    Chuck Norris comprend JC Van Damme.

  17. #17
    Expert Confirmé Avatar de pc75
    Profil pro
    Inscrit en
    septembre 2004
    Messages
    3 475
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : septembre 2004
    Messages : 3 475
    Points : 3 809
    Points
    3 809

    Par défaut

    J'ai essayé avec timeouts mais ça ne change rien.

    PS : Il n'existe pas de méthode "miracle" pour récupérer le code source d'une page ?
    Par principe, je ne réponds pas aux messages URGENT.
    Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
    Pas de questions techniques en MP.

  18. #18
    Membre Expert
    Inscrit en
    décembre 2003
    Messages
    991
    Détails du profil
    Informations forums :
    Inscription : décembre 2003
    Messages : 991
    Points : 1 767
    Points
    1 767

    Par défaut

    Les miracles ça existe en info ?

    le proxy est une piste
    d'autant que ta requête http sur ton propre site et ta page test fonctionne

    le proxy peut analyser ta requête http avant de l'exécuter lui-même

    et dans une requête http provenant d'un navigateur, tu as un champ user-gent qui est renseigné. Par exemple pour le firefox que j'utilise sur ce forum

    Code :
    User-Agent	Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1
    et tu as d'autres champs utiles au dialogue http :
    Code :
    1
    2
    3
    4
    Accept	text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Encoding	gzip, deflate
    Accept-Language	fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
    Connection	keep-alive
    je ne sais pas trop comment est formé ta requête http par ServerXMLHTTP
    on peut assez aisément le visualiser en asp avec une page de test sur ton serveur, puisque ça marche en local.

    Une autre hypothèse, c'est que ton serveur ne sait pas qu'il doit utiliser ton mandataire proxy

    peux tu bypasser ce proxy ? si oui go...

    sinon tu as des pistes pour configurer ton proxy ici :
    http://stackoverflow.com/questions/1...rosoft-xmlhttp
    si tu lis l'anglais, et sinon je peux t'aider

    pour vérifier si ça vient du proxy, tu peux essayer de charger une autre page depuis une autre machine dans ton réseau local, avant le proxy. Si ça marche tu as des chances que le proxy soit en cause.

    C'est un proxy transparent ou déclaré ?

  19. #19
    Expert Confirmé Avatar de pc75
    Profil pro
    Inscrit en
    septembre 2004
    Messages
    3 475
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : septembre 2004
    Messages : 3 475
    Points : 3 809
    Points
    3 809

    Par défaut

    Bon, j'ai réussi autrement.
    Avec mon utilisateur que j'ai mis dans le groupe administrateur et que j'ai déclaré comme utilisateur pour la connexion anonyme, j'ai utilisé ce code :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
        MyUrl = "http://www.google.fr"
        Set web = CreateObject("InternetExplorer.Application")
        web.Navigate MyUrl
        Do While web.Busy
        Loop
        On Error Resume Next
        Set doc = Nothing
        Do Until Not doc Is Nothing
            Set doc = web.Document
        Loop
        strWebPage = doc.body.OuterHTML
        web.Quit
        GetData = strWebPage
        Chaine = mid(GetData, 500, 50)
        Response.Write Chaine
    Merci pour votre aide.
    Par principe, je ne réponds pas aux messages URGENT.
    Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
    Pas de questions techniques en MP.

  20. #20
    Membre Expert
    Inscrit en
    décembre 2003
    Messages
    991
    Détails du profil
    Informations forums :
    Inscription : décembre 2003
    Messages : 991
    Points : 1 767
    Points
    1 767

    Par défaut

    Citation Envoyé par pc75 Voir le message
    Bon, j'ai réussi autrement.
    Avec mon utilisateur que j'ai mis dans le groupe administrateur et que j'ai déclaré comme utilisateur pour la connexion anonyme
    Ca franchement c'est vraiment pas une bonne façon de faire

    En passant par IE qui doit être configuré pour ton proxy, ça passe.

    Mais serverxmlhttp correctement configuré est une bien meilleure solution

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •