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

VB.NET Discussion :

webrequete, webclient, webjesaispasquoi ?


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Décembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2012
    Messages : 10
    Points : 8
    Points
    8
    Par défaut webrequete, webclient, webjesaispasquoi ?
    Bonjour

    Je souhaite envoyer une URL vers une carte relais(ipx800) ethernet sans afficher la page web, car c'est juste une commande qui déclenche les relais.

    La syntaxe est par exemple:

    http://192.168.0.205/preset.htm?led8=1

    qui ouvre le relai 8

    J'ai donc essayé ca:

    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
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
     
            Dim request3 As WebRequest = WebRequest.Create("http://192.168.0.205/preset.htm?led8=1")
     
            request3.Method = "POST"
     
            Dim postData As String = "This is a test that posts this string to a Web server."
     
            Dim byteArray As Byte() = Encoding.UTF8.GetBytes(postData)
     
            request3.ContentType = "application/x-www-form-urlencoded"
     
            request3.ContentLength = byteArray.Length
     
            Dim dataStream As Stream = request3.GetRequestStream()
     
            dataStream.Write(byteArray, 0, byteArray.Length)
     
            dataStream.Close()
     
    End Sub
    Ca marche mais apres deux utilisation ca plante, c'est certainement pas la bonne méthode

    Merci de votre aide

    ou simplement avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     System.Diagnostics.Process.Start("chrome.exe", "http://192.168.0.205/preset.htm?led8=1")
    que la page ne s'affiche pas

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Points : 1 745
    Points
    1 745
    Par défaut
    Bonjour,
    Essaye avec une methode "GET" plutôt que "POST" et lis la réponse retournée par le serveur aussi. Tu trouveras plein d'exemples sur le net (mais attention au copier-coller sans comprendre...)

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Décembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2012
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    j'ai essayé aussi la méthode, GET, j'essaie de comprendre car je suis débutant.
    Le problème avec mon code ci dessus c'est que ca marche mais après avoir envoyé une commande d'ouverture et une commande de fermeture le serveur ne repond plus et ca me plante donc le programme.
    apparement je suis sur la bonne voie c'est deja pas si mal, ca encourage

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Points : 1 745
    Points
    1 745
    Par défaut
    Pour la méthode GET, les paramètres sont passés dans l'URL (comme tu le fais), pas dans le Body. Il faut donc supprimer tout ce qui concerne postData et dataStream. De plus comme je le disais, lis la réponse retournée par le serveur

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Décembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2012
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Merci pour tes indications, je vais travailler la dessus ce soir

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Décembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2012
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    ca avance... les commandes passent et le programme ne bloque plus

    J'ai mis ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Public Sub PrgAvance100()
            Dim request As WebRequest = WebRequest.Create("http://192.168.0.205/preset.htm?RLY8=1&delay=10")
            Dim response As WebResponse = request.GetResponse()
            response.Close()
            request = Nothing
            response = Nothing
            ' MsgBox("c est eteint?")
        End Sub
    Par contre je pense que les commandes ne se reactualise pas, le parametre delay ne fonctionne pas si j'envoie une commande avec delay10 suivi de delay 100 ca donne la meme chose. (c'est le delai avant que le relai ne repasse sur off)

    ca ne serait pas un probleme de cache du navigateur? si oui y a t il une commande pour ne pas utiliser le cache?

    MErci

  7. #7
    Membre expérimenté
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Points : 1 745
    Points
    1 745
    Par défaut
    Bonjour,
    Es-tu sûr de ton paramètre delay ? J'ai un peu fouiné sur le net et je suis tombé sur ce PDF. Il y est bien indiqué les paramètres delayon et delayoff et ce, dans une configuration de sortie et non pas dans une commande, mais rien sur un paramètre delay. Maintenant ce document n'est peut-être pas exaustif.

  8. #8
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Points : 2 201
    Points
    2 201
    Par défaut
    J'ajouterais juste pour faire plus propre que la lecture de la réponse devrait en théorie te permettre de détecter que ta requête c'est déroulé correctement.

    Tu peux très bien avoir en retour un code d'erreur indiquant qu'il y a pas de serveur (de carte) à cette adresse ou autres. Ces cas devrait aussi être traité par ton application.

Discussions similaires

  1. Download de fichier (WebClient.DownloadFile)
    Par matech dans le forum ASP.NET
    Réponses: 6
    Dernier message: 23/06/2009, 16h58
  2. WebClient et DownloadFileAsync
    Par jomree dans le forum C#
    Réponses: 4
    Dernier message: 25/11/2007, 16h04
  3. Réponses: 1
    Dernier message: 21/08/2007, 16h37
  4. Pour utiliser htmlDocument: webBrowser vs webclient
    Par Petite_Escalope dans le forum VB.NET
    Réponses: 1
    Dernier message: 11/06/2007, 03h35
  5. [vb.net] pb exception / webclient
    Par xeo dans le forum Windows Forms
    Réponses: 10
    Dernier message: 28/09/2006, 13h05

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