没有XML文件,是否可以在命令上执行curl和set参数?

时间:2019-06-07 15:51:17

标签: unix curl

我正在尝试简化脚本并修改命令curl以接收输入并接收PDF文件。

这是为了简化在客户索要发票时向客户发送电子邮件的过程。

目前,我有一个工作,但是我想简化我的过程。

可以。

curl -o RESULTADO.PDF -A "Apache-HttpClient/4.1.1 (java 1.5)" -H 'Accept-Encoding: gzip,deflate' -H "Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"" -H "SOAPAction:urn:getPDF" --data-binary @request.xml --cacert  $JCL/DigiCert.crt -O https://${User}:'${Pass}'@${URL}

我的@ request.xml

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope >
   <soapenv:Header/>
   <soapenv:Body>
      <oper:getPDF>
         <!--Optional:-->
         <getPDF>
            <!--Optional:-->
            <object1>input1</object1>
            <object2>input2</object2>
         </getPDF>
      </oper:getPDF>
   </soapenv:Body>
</soapenv:Envelope>

我想用@ request.xml代替

-d "object1='${input1}'&object2='${input2}'"

我已经尝试过

curl -o RESULTADO.PDF -A "Apache-HttpClient/4.1.1 (java 1.5)" -H 'Accept-Encoding: gzip,deflate' -H "Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"" -H "SOAPAction:urn:getPDF" -d "object1='${input1}'&object2='${input2}'" --cacert  $JCL/DigiCert.crt -O https://${User}:'${Pass}'@${URL}

curl -o RESULTADO.PDF -A "Apache-HttpClient/4.1.1 (java 1.5)" -H 'Accept-Encoding: gzip,deflate' -H "Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"" -H "SOAPAction:urn:getPDF" -d "object1='${input1}'&object2='${input2}'" --cacert  $JCL/DigiCert.crt -O https://${User}:'${Pass}'@${URL}?"object1='${input1}'&object2='${input2}'"

对于其中的一些,我收到HTTP / 1.1 200 OK,但是[未显示数据],这意味着我没有收到PDF文件...我怀疑Web服务调用未收到input1和input2。

有没有信封@ request.xml的方法吗?

0 个答案:

没有答案