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

C# Discussion :

HttpWebRequest : envoyer des données par method post


Sujet :

C#

  1. #1
    Membre actif Avatar de Crazyfaboo
    Homme Profil pro
    Software Engineer
    Inscrit en
    Août 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Software Engineer

    Informations forums :
    Inscription : Août 2004
    Messages : 89
    Points : 244
    Points
    244
    Par défaut HttpWebRequest : envoyer des données par method post
    Bonjour,

    Je voudrais créer un petit programme capable d'envoyer des messages sur un forum (phpBB).

    Mais à chaque fois que j'essaie d'envoyer un message, j'ai l'impression qu'aucune donnée n'est envoyé.

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
            public static ManualResetEvent allDone = new ManualResetEvent(false);
     
            public void Run()
            {
                //Création du cookie Container... no pb ici
     
                // Create a new HttpWebRequest object.
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.CookieContainer = cc;
     
                // Set the ContentType property. 
                // Set the Method property to 'POST' to post data to the URI.
                request.Method = "POST";
     
                // Start the asynchronous operation.    
                request.BeginGetRequestStream(new AsyncCallback(ReadCallback), request);
     
                // Keep the main thread from continuing while the asynchronous
                // operation completes. A real world application
                // could do something useful such as updating its user interface. 
                allDone.WaitOne();
     
                // Get the response.
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Stream streamResponse = response.GetResponseStream();
                StreamReader streamRead = new StreamReader(streamResponse);
                string responseString = streamRead.ReadToEnd();
     
                Form f = new Form();
                f.Text = "Browser";
                f.Width = 900;
                f.Height = 500;
                WebBrowser wbb = new WebBrowser();
                wbb.DocumentText = responseString;
                wbb.Document.Encoding = "ISO-8859-1";
                wbb.Dock = DockStyle.Fill;
                f.Controls.Add(wbb);
                f.ShowDialog();
     
                // Close the stream object.
                streamResponse.Close();
                streamRead.Close();
     
                // Release the HttpWebResponse.
                response.Close();
            }
     
            private static void ReadCallback(IAsyncResult asynchronousResult)
            {
                HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState;
                // End the operation.
                Stream postStream = request.EndGetRequestStream(asynchronousResult);
                string postData = "mode=newtopic&subject=post00&message=baaah&f=4"; //je voudrais envoyer ces données mais il me dit : mode du sujet non spécifié alors que la valeur du mode est bonne...
     
                // Convert the string into a byte array.
                byte[] byteArray = Encoding.ASCII.GetBytes(postData);
                // Write to the request stream.
                postStream.Write(byteArray, 0, postData.Length);
                postStream.Close();
                allDone.Set();
            }
    Je comprends pas... Ce code provient directement de l'aide MSDN, je l'ai simplement adapté à mes besoins...

    Quelqu'un a une idée ?

    PS : Si je rajoute la ligne request.ContentType = "application/x-www-form-urlencoded";, ca ne marche plus du tout...

  2. #2
    Membre actif Avatar de Crazyfaboo
    Homme Profil pro
    Software Engineer
    Inscrit en
    Août 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Software Engineer

    Informations forums :
    Inscription : Août 2004
    Messages : 89
    Points : 244
    Points
    244
    Par défaut
    Ben alors... y'a personne qui a une idée ?

Discussions similaires

  1. envoyer des données par rapport à une checkbox
    Par dudu134 dans le forum Langage
    Réponses: 2
    Dernier message: 18/05/2007, 17h57
  2. Envoyer des données par post sans formulaire
    Par webrider dans le forum Langage
    Réponses: 12
    Dernier message: 31/03/2007, 19h11
  3. Envoyer des données par TCP/IP
    Par slimdre dans le forum C++
    Réponses: 4
    Dernier message: 18/03/2007, 18h28
  4. envoyer des données par mail
    Par zorba49 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 16/12/2005, 11h00
  5. envoyer des données par l'intermédiaire d'un bouton
    Par mathilde50 dans le forum Access
    Réponses: 26
    Dernier message: 28/10/2004, 16h49

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