Apache et le multipart/form-data

Résolu
nihonsx5 Messages postés 20 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 16 février 2014 - 23 août 2005 à 18:20
nihonsx5 Messages postés 20 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 16 février 2014 - 4 sept. 2005 à 15:00
Bonjour,

je travaille sur VB.NET et je dois faire un "POST" de données sur une page PHP (serveur APACHE).

Je dois le faire avec un content-type multipart/form-data.



Dim boundary As String = "-------------------------------------------------------------ZkdOkkdKjoHEEdZ"

Dim Essai As String

Essai = Essai & boundary & vbCrLf

Essai = Essai &
"Content-Disposition: form-data; name=""subject""" & vbCrLf &
vbCrLf

Essai = Essai & "TEST" & vbCrLf & boundary & vbCrLf

.

.

.

Essai = Essai &
"Content-Disposition: form-data; name=""seqnum""" & vbCrLf &
vbCrLf

Essai = Essai & "0"
& vbCrLf & boundary & "--" & vbCrLf & vbCrLf



Dim UrlTim As String = "http://www.exemple.com"

Dim myrequest As HttpWebRequest = WebRequest.Create(UrlTim)

myrequest.CookieContainer = New CookieContainer

myrequest.CookieContainer.Add(myResponse4.Cookies)

myrequest.Method = "POST"

myrequest.KeepAlive = True

myrequest.Referer = "http://bouboule.com"



myrequest.ContentType =
"multipart/form-data;
boundary=-----------------------------------------------------------ZkdOkkdKjoHEEdZ"

myrequest.ContentLength = Essai.Length



Dim oS2 As Stream = myrequest.GetRequestStream()

Dim oSWriter2 As
StreamWriter = New StreamWriter(oS2, Encoding.GetEncoding("ISO-8859-1"))

oSWriter2.Write(Essai)

oSWriter2.Flush()

oSWriter2.Close()



Bref, cela ne fonctionne pas. J'ai vu sur le net qu'il fallait rajouter deux "-" à la fin des datas après le boundary pour

un serveur APACHE. J'ai modifié le boundary (moins de "-"), rien n'y fait. Dans myrequest.ContentType,

j'ai rajouté deux "

> [....] "multipart/form-data; ""boundary= [...] Z"" Aucun résultat.



Je cherche, et je ne trouve pas. Si vous avez des idées, je suis tout ouïe.

4 réponses

nihonsx5 Messages postés 20 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 16 février 2014
4 sept. 2005 à 15:00
j'ai trouvé la solution, c'était un problème de cookies mal enregistrés de ma part.

Mon multipart était bon.

Merci pour les réponses.
3
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
27 août 2005 à 16:08
salut,



après le boundary=, tu mets par exe : =_azerty



ensuite chaque boundary se compose : vbcrlf & "--=_azerty" et pour
finir la liste de bornes vbcrlf & "--=_azerty--" & vbcrlf...le
vbcrlf avant la borne fait partie de la borne...

ShareVB
0
nihonsx5 Messages postés 20 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 16 février 2014
29 août 2005 à 12:40
Ce n'est pas ce que je fais ?

Le multipart devrait avoir cette forme là.



-------------------------------------------------------------ZkdOkkdKjoHEEdZ

Content-Disposition: form-data; name="subject""



TEST

-------------------------------------------------------------ZkdOkkdKjoHEEdZ


Content-Disposition: form-data; name="posteur"



Babar

-------------------------------------------------------------ZkdOkkdKjoHEEdZ--



Je rajoute bien les 2 "-" à mon boudary, et les 2 "-" pour la fin du multipart, à la fin du boudary.

Je me trompe peut-être. Mais j'ai regardé les trames sortant de mon navigateur, et le multipart a cette forme.

Tu as réussi à faire un post de données sur un serveur Apache ?



Merci pour la réponse
0
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
30 août 2005 à 09:49
salut,



non, moi c'était avec les Mails MIME....J'ai lu par ailleurs que
certains serveurs refusent les données s'il n'y a pas de
content-type....

ShareVB
0
Rejoignez-nous