IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

cli batch WinHttp.WinHttpRequest get


Sujet :

VBScript

  1. #1
    Membre confirmé
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2013
    Messages : 73
    Par défaut cli batch WinHttp.WinHttpRequest get
    Bonjour à tous,

    Je voudrais importer des fichiers dans un serveur à distance, avec "intermapper remote access". Pour cela, j'ai créé un script vbs puis j'ai créé un batch pour le lancer. J'ai lancer alors le fichier.bat dans le console windows, et j'obtient l'erreur suivant:

    WinHttp.WinHttpRequest: La connexion avec le serveur a été interrompue anormalement

    Je crois que l'erreur viens alors de WinHttp.WinHttpRequest. Ci joint le bout de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    Function FetchURL(url, user, password, textonly)
      Dim http, result
     
    'create an http object
      Set http = CreateObject("WinHttp.WinHttpRequest.5.1")
     
    'download the http url
      http.Open "GET", url, False
     
      If user <> ""  Then
        http.SetCredentials user, password, 0
      End If
     
      http.Send
     
      if http.Status = 200 then
        if textonly Then
          result = http.ResponseText
        Else
          result = http.ResponseBody
        End If
      Else
        result = ""
      End If
     
      Set http = Nothing
      FetchURL = result
    End Function
    je suis encore novice avec vbs, je travaille sur java mais pour le scipt il faut que ça soit en vbs. Alors comment faire?
    Merci d'avance

  2. #2
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    Pas de promesse... essayez-ceci.
    Code vbscript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      Set http = CreateObject("WinHttp.WinHttpRequest.5.1")
      http.option(9)=&H0028    'ajoutée
      http.Open "GET", url, False
    Il semble le support de ssl 2.0 et ssl 3.0 n'est pas automatique d'après la documentation ? Mais je ne suis pas 100% sûr à vrai dit l'ampleur du problème. Il y a là quelque difficulté liée aux limitations de vbs propre. Essayer pour voir.

  3. #3
    Membre confirmé
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2013
    Messages : 73
    Par défaut
    Merci tsuji,

    J'ai essayé mais ça ne marche pas, le même erreur apparaît
    WinHttp.WinHttpRequest: La connexion avec le serveur a été interrompue anormalement

    Qui d'autre a déjà eu cet erreur, et comment aviez vous faits pour le résoudre. Sinon Quelqu'un pourrait-il m'aider svp.

    merci d'avance

  4. #4
    Membre confirmé
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2013
    Messages : 73
    Par défaut
    en faite pour l'appel de l'"hôte" "port" "username" "password", j'ai fais comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    If WScript.Arguments.Named.Exists("host") Then
      remoteAddr = WScript.Arguments.Named.Item("host")
    Else
      WScript.Echo "Must specify a remote InterMapper host to synchronize with"
      WScript.Quit
    End If
     
     
    If WScript.Arguments.Named.Exists("port") Then
      remotePort = WScript.Arguments.Named.Item("port")
    Else
      remotePort = 80
    End If
    ....
    et pour l'url:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Function MakeURLBase(user, password, host, port, secure)
      Dim protocol, fullhost
      If secure Then
        protocol = "https://"
      Else
        protocol = "http://"
      End If
     
      If (port <> "") Then
        fullhost = host & ":" & port
      Else
        fullhost = host
      End If
     
      MakeURLBase = protocol & fullhost & "/~files"
    End Function
    ' Get list of supported folders
    puis j'ai rajouté mon code avec le votre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    ....
    urlBase = MakeURLBase(remoteUser, remotePassword, remoteAddr, remotePort, secureConnection)
    .....
    'create an http object
      Set http = CreateObject("WinHttp.WinHttpRequest.5.1")
     
    'download the http urlBase
    http.option(9)= &H0028  'ajoutée
      http.Open "GET", urlBase, False
     
      If user <> ""  Then
        http.SetCredentials user, password, 0
      End If
     
      http.Send
    ....
    Voilà, je crois que vous pourriez mieux comprendre comme ça
    Merci

Discussions similaires

  1. cli batch WinHttp.WinHttpRequest get
    Par kawaiyush dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 01/12/2014, 14h34
  2. Message d'erreur lors d'un "apt-get install php5-cli"
    Par thewind1 dans le forum Debian
    Réponses: 1
    Dernier message: 07/08/2008, 10h51
  3. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  4. [JSP]Exécution d'un batch
    Par tsco_ops dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 17/07/2003, 14h58
  5. Verifier qu'un dossier existe (batch)
    Par kakou dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 08/01/2003, 13h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo