-1

我正在从 Perl 程序调用一个简单的 Web 服务。Web 服务只返回一些简单的 XML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<job>
    <path>/root/subdir1/subdir2</path>
</job>

当我在浏览器上调用 Web 服务时,我会返回完整的 XML 并且可以“看到”

/root/subdir1/subdir2

当我使用 curl 从不同的 linux 框调用相同的 URL 时,它会丢失数据。我得到了这个:

<?xml version="1.0" encoding="ISO-8859-1"?>
<job>
    <path></path>
</job>

我不明白为什么它会删除数据但仍返回 XML。

任何帮助将非常感激。

4

2 回答 2

1

所以你得到了不同的回应。找出请求的不同之处。然后解决差异。

于 2012-12-06T10:04:14.003 回答
0

我已经找到了这个问题的答案。我没有收到响应的原因是,当使用多个 url 参数调用 curl 时,您需要用引号将完整的 url 括起来。

如果您只有一个查询字符串参数,这将起作用:

curl -sS http://www.mywebsite.com/myprog.pl?myparam1=1

但这不会:

curl -sS http://www.mywebsite.com/myprog.pl?myparam1=1&myparam2=2

除非你这样做:

curl -sS 'http://www.mywebsite.com/myprog.pl?myparam1=1&myparam2=2'

在这里找到了答案:

如何使用 curl 将多个参数传递给 cron 作业?

谢谢!:-)

于 2012-12-07T09:36:52.627 回答