2010-03-01 8 views
3

J'ai besoin d'un httpclient RESTful pour Ant.RESTful httpclient pour Ant

Aucune des tâches liées contrib semblent fonctionner plus ..

personne n'a pas comblé Commons-HTTPClient et Ant encore?

+0

Je suis curieux: qu'est-ce que vous essayez de faire de toute façon ? –

+0

POSTing à une servlet. (Apache Solr proxy) – kjetildm

Répondre

3

Essayez d'utiliser une tâche d'exécution Ant et curl.

+0

le faire maintenant. Mais pas si bon pour les serveurs Windows. Pluss le paramètre -D ne fonctionne pas correctement à partir de Ant – kjetildm

0

J'ai trouvé ce projet http://fikin-ant-tasks.sourceforge.net/.

Dernière mise à jour du fichier est 2007-03-12 Im donc un peu inquiet de la qualité ...

tous les utilisateurs de celui-ci ici?

+0

J'ai essayé Fikin Ant Tasks et son support d'authentification de base est cassé. – paleozogt

0

Il existe une tâche de publication http dans Antelope mais elle ne semble pas prendre en charge l'authentification de base. :/

1

J'ai utilisé CURL de ANT à POST fichiers avec le macrodef suivant:

<pathconvert property="curl.path" targetos="windows"> 
    <path location="${lib.dir}/curl/curl.exe"/> 
</pathconvert> 
<macrodef name="post-file" description="Use Curl to post the file to the WEBDAV path"> 
    <attribute name="file"/> 
    <attribute name="url" />  
    <attribute name="username" default="${username}" /> 
    <attribute name="password" default="${password}" /> 
    <sequential> 
     <echo message="Using CURL to upload @{file} to @{url}" /> 
     <!--Execute curl to post the file to the URL --> 
     <exec executable="${curl.path}"> 
      <arg value='-L'/> 
      <arg value='-k'/> 
      <arg value='-f'/> 
      <arg value='-s'/> 
      <arg value="--anyauth"/> 
      <arg value="-u"/> 
      <arg value="@{username}:@{password}"/>    
      <arg value="-T" /> 
      <arg value='"@{file}"' /> 
      <arg value='@{url}'/> 
     </exec> 
    </sequential> 
</macrodef> 

Exécutez la macrodef comme ceci:

<target name="test-upload"> 
     <post-file file="${file}" 
        url="${url}" 
        username="${username}" 
        password="${password}" /> 
    </target>