如何使用ant exec任务来调用curl并POST消息来休息api

创建一个Ant任务以发出一个curl post请求:

<target name="invoke-curl" description="Invoke curl using Ant">
    <exec executable="curl">
        <arg value="-kiv" />
        <arg value="-X POST" />
        <arg value="-H 'Accept: application/json'" />
        <arg value="-H 'Content-Type: application/json'" />        
        <arg value="-d" />
        <arg value="&apos;{&quot;username&quot;:&quot;xyz&quot;,&quot;password&quot;:&quot;XYZ&quot;}&apos;" />
        <arg value="https://hostname:8443/rest/api/login" />        
    </exec>
</target>

有趣的是,API仅支持“Content-Type:application / json”。 但是,除了作为参数发送给Curl的头文件之外,curl似乎还添加了“Content-Type:application / x-www-form-urlencoded” 。 该API似乎并不喜欢这一点,并返回“<HTTP / 1.1 415不支持的媒体类型”。 它看起来像curl发现编码的数据,因此设置它自己的默认标题。 那么有没有办法阻止curl设置这个默认的“Content-Type:application / x-www-form-urlencoded”,并且只使用头部集作为curl命令的参数。

User-Agent: curl/7.51.0
Accept: */*
 'Accept: application/json'
 'Content-Type: application/json'
Content-Length: 52
Content-Type: application/x-www-form-urlencoded
链接地址: http://www.djcxy.com/p/1343.html

上一篇: How to use ant exec task to invoke curl and POST a message to rest api

下一篇: Insert Data from POST Curl to JAVA Spring