[R] Problème pour envoyer un fichier - (Méthode HTTP POST)

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

[R] Problème pour envoyer un fichier - (Méthode HTTP POST)

#1

Message par orax »

:arrow: Edité : le problème est en partie résolu, j'envoie la requête avec TCPSend(), en "brute", et ça marche, mais j'aurais bien aimé pouvoir faire ça simplement avec un objet tel que WinHttpRequest par exemple.

- - - -

Bonjour, j'aimerais héberger une image sur site qui propose ce service, tel que imageshack ou autres...
Pour l'exemple j'utilise WinHttpRequest pour envoyer ma requête POST dans laquelle est contenu mon image.
Le problème est que mon image n'est pas envoyée correctement, il n'y a que les premiers octets (moins de 10 octets je pense) qui sont envoyés (j'ai vérifié avec Wireshark). Je ne vois vraiment pas ce que j'ai mal fait. :cry:

Merci de m'éclairer un peu si vous avez une idée.
► Afficher le textecode
Et voici ce que m'affiche Wireshark :
► Afficher le textecapture de trames
Modifié en dernier par orax le ven. 27 mars 2009 20:05, modifié 12 fois.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Max5
Niveau 2
Niveau 2
Messages : 24
Enregistré le : mar. 11 sept. 2007 19:20
Status : Hors ligne

Re: [..] Problème pour envoyer un fichier - (Méthode HTTP POST)

#2

Message par Max5 »

En essayant le code avec l'objet "WinHttp.WinHttpRequest.5.1" j'obtient :
Bad Request
Bad Request
Your browser sent a request that this server could not understand.

Mais avec L'objet "Microsoft.XMLHTTP" c'est bon. ;)
En tout cas chez moi. ^^

J'ai remarquer par expérience que xmlhttp est préférable a winhttprequest. :)
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Problème pour envoyer un fichier - (Méthode HTTP POST)

#3

Message par orax »

Le Bad request c'est de ma faute, j'avais oublié d'enlever cette ligne mal formée

Code : Tout sélectionner

$obj.SetRequestHeader("Host", "Host: http://www.ptp-images.com")
Je vais tester "Microsoft.XMLHTTP". Merci !

- - - - - -

Au fait, rien avoir avec le sujet, et le problème est peut-être déjà connu : j'ai remarqué que quand je mets, par exemple, about:blank entre les balises "[ code ]" ça me donne ça :

Code : Tout sélectionner

about:blank
Modifié en dernier par orax le lun. 23 mars 2009 23:35, modifié 1 fois.
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Problème pour envoyer un fichier - (Méthode HTTP POST)

#4

Message par orax »

Avec Microsoft.XMLHTTP, j'ai le même problème, il ne m'envoie que les 10 premiers octets de l'image. Il semblerait que pour envoyer un fichier binaire avec Microsoft.XMLHTTP je doive faire autrement.

J'ai essayé d'envoyer une requête via TCPSend() pour être certain que le problème ne provienne pas d'une simple erreur de syntaxe, et là ça marche, même si ça ne résout pas pour autant mon problème avec Microsoft.XMLHTTP. Le code est ci-dessous, il permet de faire les 2 types d'envoie.
► Afficher le textecode
Modifié en dernier par orax le jeu. 26 mars 2009 04:10, modifié 3 fois.
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Problème pour envoyer un fichier - (Méthode HTTP POST)

#5

Message par orax »

Finalement j'ai trouvé un script VBS qui fait ce que je demande à http://www.nowsms.com/download/sendmms.vbs.txt ; il est conçu pour envoyer des mms alors je l'ai un peu modifié. Par contre je trouve qu'il est bien compliqué pour le simple envoie d'un fichier binaire... je m'attendais à plus simple donc si quelqu'un a une autre solution je suis prenant.
► Afficher le textevbs
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
GaRydelaMer
Niveau 7
Niveau 7
Messages : 450
Enregistré le : mer. 18 mars 2009 22:12
Localisation : Montpellier
Status : Hors ligne

Re: [R] Problème pour envoyer un fichier - (Méthode HTTP POST)

#6

Message par GaRydelaMer »

Bonjour

j'ai apporté une solution à ton problème, tu la trouvera dans les exemples de script.
http://www.autoitscript.fr/forum/viewto ... f=6&t=2747

Chris.
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [R] Problème pour envoyer un fichier - (Méthode HTTP POST)

#7

Message par orax »

Oui en effet, je venais à l'instant de voir le message. Je n'ai pas encore testé mais ça me semble parfait. Merci :wink:

Juste une petite chose : (si j'ai bien compris la RFC) si la valeur de boundary (Const $BOUNDARY = '--ThIs_Is_tHe_bouNdaRY_$--') est présente dans le fichier, le transfert va échouer :P (...bon d'accord, il y a une chance sur 1 000 000 000... pour que ça arrive).
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Artemis
Niveau 3
Niveau 3
Messages : 49
Enregistré le : jeu. 03 juil. 2008 19:31
Status : Hors ligne

Re: [R] Problème pour envoyer un fichier - (Méthode HTTP POST)

#8

Message par Artemis »

Merci pour toutes vos réponses, j'ai du boulot :p

Artemis ;)
GaRydelaMer
Niveau 7
Niveau 7
Messages : 450
Enregistré le : mer. 18 mars 2009 22:12
Localisation : Montpellier
Status : Hors ligne

Re: [R] Problème pour envoyer un fichier - (Méthode HTTP POST)

#9

Message par GaRydelaMer »

orax a écrit :Oui en effet, je venais à l'instant de voir le message. Je n'ai pas encore testé mais ça me semble parfait. Merci :wink:

Juste une petite chose : (si j'ai bien compris la RFC) si la valeur de boundary (Const $BOUNDARY = '--ThIs_Is_tHe_bouNdaRY_$--') est présente dans le fichier, le transfert va échouer :P (...bon d'accord, il y a une chance sur 1 000 000 000... pour que ça arrive).

Non pas vraiment puisque le fichier est codé en binaire tu auras jamais cette chaine la ;)
Répondre