http post avec ant le téléchargement de fichiers
Dans le cadre de mon Ant processus de création, j'aimerais télécharger des fichiers sur un serveur web via HTTP Post. Ant est livré uniquement avec un HTTP Get tâche. Cependant, Ant Contrib semble avoir un HTTP Post tâche. Le problème est qu'il n'a pas l'Authentification de Base (comme n') ou tout moyen de spécifier un fichier à télécharger (en dépit de ce que les docs disent, "rawFile" ne fait pas partie de la distrib).
Ma question est: est-Ant Contrib Post tâche est réellement l'appui de ce que je veux, mais dans un non-évidence (j'ai peut-être le faire à la main)? Ou est-il une autre façon de faire?
Vous devez vous connecter pour publier un commentaire.
Utiliser le curl programme appelé via une FOURMI exec tâche.
Pour curl exemples de lire ce réponse
J'ai créé une sous licence Apache 2.0, complet et facile à utiliser ant http tâche. Il utilise le code java.net.* les classes et n'a pas de tiers dépendances de la bibliothèque.
Il peut faire POST/PUT avec des fichiers en ligne ou les entités, et a des options de paramétrage en-têtes, l'authentification et l'état le code de vérification pour construire l'échec sur des résultats inattendus.
http://missinglinkcode.wordpress.com/2011/03/15/apache-ant-http-task/
<entity>
fermer la<http>
tag avec</query>
. Juste pensé que vous devriez savoir. Merci pour le bien que la tâche. L'essayer maintenant! 🙂curl -u username -X PUT -F file=@/path/to/file.zip https://some/api/foo/42
. Actuellement j'ai une erreur 500, et je pense que c'est parce que l'entité n'est pas nommé "fichier", ce qui est répertorié comme une exigence de l'API. Tous les conseils?Une nouvelle fourmi http tâche nommée "chaînon Manquant" a été annoncé sur la Fourmi de la Liste des Utilisateurs, lui donner un essai =
http://code.google.com/p/missing-link/
Il y a un http post tâche dans L'antilope mais il n'apparaît pas à l'appui de l'Authentification de Base. :/
Il y a aussi un AntLib dans la fourmi sandbox ici qui prétend faire HTTP get et post. Cependant, son authentification est cassé aussi.
J'ai fait un patch pour ant-contrib qui ajoute de l'authentification de base pour le poste de tâche. J'espère que c'est inclus dans le coffre. En attendant, vous pouvez le compiler à partir des sources et d'appliquer le correctif vous-même:
http://sourceforge.net/tracker/?func=detail&aid=3110414&group_id=36177&atid=416922
Une fois que vous avez installé la nouvelle ant-contrib.jar, juste ajouter un nom d'utilisateur et le mot de passe d'attributs à la poste et il devrait fonctionner très bien. Le téléchargement du fichier, je ne sais pas...
Il y a un tas de tâches ant basé à jakarta commons client http :
http://fikin-ant-tasks.sourceforge.net/
également fournir un http post tâche avec authentification.
Lors de l'utilisation de ant avec exec, vous ouvrirez un nouveau processus à l'extérieur de la machine virtuelle java.
OMI processus externes doivent être évités si possible.
P. S. : si fikin des tâches ant /http post avec l'authentification de base est cassé
je préfère écrire une classe java ou même mon propre tâche à jakarta commons, voir
jakarta commons client http , exemple pour l'authentification de base Deux
de sorte qu'il peut s'exécuter dans la même machine virtuelle comme ant ou peut-être dans une fourche processus java
vous trouverez plusieurs exemples pour l'upload de fichier avec jakarta commons httpclient via google..