Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

UNE CLASSE POUR GÉREZ LES REQUETTES POST SUR SERVEUR HTTP [.NET 2.0]


Information sur la source

Catégorie :Réseau & Internet Source .NET ( DotNet ) Classé sous : post, httpwebrequest, upload Niveau : Débutant Date de création : 10/10/2006 Date de mise à jour : 10/10/2006 22:36:16 Vu / téléchargé: 6 037 / 1 210

Note :
9 / 10 - par 2 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

Description

Voici une petite classe qui permet d'effectuer Facilement des requettes POST
============================================================================

Gestion du post :
-----------------
Ajout de champ de formulaire classic,
Upload de fichier,
Transfere d'objet serializer en binaire ou xml

Gestion de la réponse serveur:
------------------------------
la réponse peux être automatique moment traiter d'une manière au choix:
Sauveguarde dans un fichier,
Déserialization dans un objet (binaire ou xml),
retour d'un booléan (true si le statuscode de la réponse serveur est 200)
retour du statuscode

 

Conclusion

Ammuser vous et faite moi part des corrections/évolutions qui pourais y être apporter.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

10 octobre 2006 22:36:16 :
Précisions diverses.

Commentaires et avis

signaler à un administrateur
Commentaire de bizmoute le 28/10/2008 14:27:06 10/10

Ton fichier HTTPTool.vb est exactement ce que je cherchais!!
Merci beaucoup pour ce beau travail!

signaler à un administrateur
Commentaire de bizmoute le 28/10/2008 15:34:53

Parfois il arrive qu'on ne désire pas enregistrer un fichier sur le disque avant de l'envoyer, alors voici une évolution suggérée :
   ''' <summary>
   ''' Transmet un fichier dans le formulaire de la requette POST.
   ''' </summary>
   ''' <param name="Name">Clef.</param>
   ''' <param name="FileName">Chemin vers le fichier à transmettre
   ''' ou nom du fichier.</param>
   ''' <param name="ContentType">type mime du fichier à transmettre.</param>
   Private Sub AddFileBoundaryHeader( _
            ByVal Name As String, _
            ByVal FileName As String, _
            Optional ByVal ContentType As String = "application/octet-stream")
      Dim BBuff As String
      BBuff = "--" & _boundary & vbCrLf
      BBuff &= "Content-Disposition: form-data; name=""" & Name & """; filename=""" & FileName & """" & vbCrLf
      BBuff &= "Content-Type: " & ContentType & vbCrLf
      BBuff &= vbCrLf

      Dim Buff As Byte()
      Buff = Text.Encoding.UTF8.GetBytes(BBuff)
      _Request.Write(Buff, 0, Buff.Length)
   End Sub

   ''' <summary>
   ''' Transmet un fichier dans le formulaire de la requette POST.
   ''' </summary>
   ''' <param name="Name">Clef.</param>
   ''' <param name="FilePath">Chemin vers le fichier à transmettre.</param>
   ''' <param name="ContentType">type mime du fichier à transmettre.</param>
   Public Sub AddFile(ByVal Name As String, _
                      ByVal FilePath As String, _
                      Optional ByVal ContentType As String = "application/octet-stream")
      Dim BBuff As String
      Dim Buff As Byte()
      AddFileBoundaryHeader(Name, FilePath, ContentType)

      Buff = System.IO.File.ReadAllBytes(FilePath)
      _Request.Write(Buff, 0, Buff.Length)
      BBuff = vbCrLf
      Buff = Text.Encoding.UTF8.GetBytes(BBuff)
      _Request.Write(Buff, 0, Buff.Length)
   End Sub

   ''' <summary>
   ''' Transmet un fichier dans le formulaire de la requette POST.
   ''' </summary>
   ''' <param name="Name">Clef.</param>
   ''' <param name="FileName">Nom du fichier à transmettre.</param>
   ''' <param name="MemStream">Stream à envoyer</param>
   ''' <param name="ContentType">type mime du fichier à transmettre.</param>
   Public Sub AddFile(ByVal Name As String, _
                      ByVal FileName As String, _
                      ByVal MemStream As System.IO.MemoryStream, _
                      Optional ByVal ContentType As String = "application/octet-stream")
      Dim BBuff As String
      AddFileBoundaryHeader(Name, FileName, ContentType)

      Dim Buff(CInt(MemStream.Length)) As Byte
      MemStream.Read(Buff, 0, CInt(MemStream.Length))

      _Request.Write(Buff, 0, Buff.Length)
      BBuff = vbCrLf
      Buff = Text.Encoding.UTF8.GetBytes(BBuff)
      _Request.Write(Buff, 0, Buff.Length)
   End Sub

signaler à un administrateur
Commentaire de bizmoute le 28/10/2008 20:16:15

Désolé, une petite erreur n'avais pas été corrigé dans le code que j'ai posté...
C'était lors de l'initialisation du array "Buff"

   ''' <summary>
   ''' Transmet un fichier dans le formulaire de la requette POST.
   ''' </summary>
   ''' <param name="Name">Clef.</param>
   ''' <param name="FileName">Nom du fichier à transmettre.</param>
   ''' <param name="MemStream">Stream à envoyer</param>
   ''' <param name="ContentType">type mime du fichier à transmettre.</param>
   Public Sub AddFile(ByVal Name As String, _
                      ByVal FileName As String, _
                      ByVal MemStream As System.IO.MemoryStream, _
                      Optional ByVal ContentType As String = "application/octet-stream")
      Dim BBuff As String
      AddFileBoundaryHeader(Name, FileName, ContentType)

      Dim Buff(CInt(MemStream.Length - 1)) As Byte
      MemStream.Read(Buff, 0, CInt(MemStream.Length))

      _Request.Write(Buff, 0, Buff.Length)
      BBuff = vbCrLf
      Buff = Text.Encoding.UTF8.GetBytes(BBuff)
      _Request.Write(Buff, 0, Buff.Length)
   End Sub

signaler à un administrateur
Commentaire de bizmoute le 29/10/2008 15:07:16

Correction suggérée : Utiliser System.Text.Encoding.Default plutôt que UTF8 pour éviter les problèmes avec les accents.

signaler à un administrateur
Commentaire de Malkuth le 19/11/2008 07:27:30

Je vais essayer de me dégager un peu de temps se weekend pour mettre un peu a jour cette source et prendre en compte tes ajout, concernant l'encodage, je ne suis convaincu ni par le UTF8 ni par le et moins encore par le default qui risque d'être génant lors d'échange avec des system reposant sur d'autre encodage (unix/linux notament), en fait je pense rajouter un propriéter encoding sur le constructeur se qui me déchargeras de toute "responsabilitée" et rendra le code plus maléable :p

je vais aussi supprimer les Encoding.GetBytes(...) qui oblige a maintenir en mémoire des tableau d'octets volumineux l'utilisation de TextWriter seras a la fois plus eficace plus simple et finalement plus compréhensible.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

HttpWebRequest et POST [ par fregolo52 ] Bonjour,Je suis en .NET 1.1J'essaie de configurer un équipement Wifi qui possède un serveur WEB.Lorsque j'utilise HttpWebRequest avec HttpWebResponse HTTP POST ? [ par Redman31100 ] Bonjour, je voudrais savoir comment envoyer des données en méthode POST en HTTP avec l'objet Net.HttpWebRequest.Je sais qu'on peut utiliser Net.HttpWe Mea Culpa [ par lillith212 ] Bonjour à tous,Ce post va peut être vous sembler "bizarre" mais je pense qu'il est important que je le fasse.Pour commencer je voudrais remercier PCPT [Inet] Upload .txt local vers ftp [ par Waduke ] Bonjour à tous ,Je me décide à poster après avoir fais mintes recherches non concluantes pour mon problème..Je souhaite dans un 1er temps, upload un s [VB6] Upload .txt par SFTP [ par Waduke ] Bonjour à tous !J'ai quelques petites question bien précise à vous demandez, j'ai fai quelques recherches mais rien trouver malheureusement..Concernan Envoyer une requette POST vers PHP distant en VB6 - Help me please... [ par magicgus ] Bonjour à tous, je créais un logiciel de gestion de site communaitaire automatisé en Visual Basic 6.Pour certaine raison complexe je souhaite pouvoir Upload de fichier sur un ftp [ par Razordj ] J'aimerais créer un "upload" automatique sur Visual basic express 2008 qui uploaderais sur un serveur Ftp.Il uploaderais tout les fichiers et tout les Upload d'un fichier à un serveur sans FTP [ par tawfik3221 ] Salut mon problème est le suivant:je cherche à envoyer un fichier à partir d'un bouton sur mon application (vb ou vb.net ) à un serveur distant (une a lOGIN EN PHP [POST] [ par Tanner47 ] Bonjour, pourriez vous m'aider, j'aimerai me connecter sur ce site via POST sous vb6 http://s9.gladiatus.fr/game/index.php?=mod=loginj'ai essayer sa m serveur Http et get/post [ par smasher81 ] Allo, je cherche depuis quelques temps seulement la façon de receillir un get ou un post d'une page sur mon serveur.. tout simple la.. Pourrais-tu m'a


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,920 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.