ow要在bash中发送带有变量的帖子查询?

时间:2019-05-03 09:21:26

标签: xml bash curl

使用bash脚本以XML发送POST查询时遇到困难。通过使用包含特殊格式的XML的POST变量方法functions.php传递到文件“ input_xml”,可以调用API函数。

curl  -X POST  -i  -F input_xml=@/app/server/input_xml http://XX.XX.X.X/api/functions.php

如果使用诸如Postman之类的特殊实用程序发送查询,则可以。 但是使用curl时,它在等待正确答案时会给出响应"Variable input_xml is empty"

Result

HTTP/1.1 100 Continue

HTTP/1.1 200 OK
Date: Fri, 03 May 2019 09:16:51 GMT
Server: Apache
X-Powered-By: PHP/5.4.16
Set-Cookie: PHPSESSID=2cmhd3a0mqf7u330rpbdi3lhd0; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 114
Content-Type: text/html; charset=utf-8

<?xml version="1.0" encoding="utf-8"?><document><result value="2">Variable input_xml is empty.</result></document>

3 个答案:

答案 0 :(得分:0)

您可能缺少内容类型参数:

-H 'content-type: application/xml'

答案 1 :(得分:0)

在curl命令手册页上,我看到您必须使用@将文件原样传递到服务器(作为文件上传)。但是,如果您只想传递内容,则应使用<符号而不是@符号

尝试使用<符号代替@符号

答案 2 :(得分:0)

问题不切实际,感谢您的帮助。 决定:

卷曲--data-urlencode input_xml@/app/informatica/PMRootDir/prod/log_motiw/input_xml.xml -X POST http://*****/api/file.php