为什么curl没有张贴我的标题

时间:2015-11-26 12:25:42

标签: linux curl header

我与我的作品有关。但我遇到了问题。 我将xml格式数据发布到服务器,这是一个Web服务接口。

这是我的代码:

curl --data @feeqry.xml -H "SOAPAction: " -H "Content-Type:text/xml" -v http://myservice-interface

但服务器返回如下:  没有SOAPAction标题!

所以我检查数据帖子,没有发送SOAPAction标头。但Content-Type标题在列表中,因此,我的代码有问题。标题" SOAPAction"不必填写值,我在python和loadrunner脚本中执行此操作,它运行良好。 在python中,我定义了这样的标题:

h = {'SOAPAction':'', 'Content-Type':'text/xml'}

在loadrunner脚本中,我添加如下标题:

web_add_header("SOAPAction","\"\"");

两者都运作良好..所以请帮我解决这个问题。非常感谢你们。

ps:原谅我可怜的英语。

发布信息:

About to connect() to my server port 8888 (#0)
*   Trying my server...
* Connected to my server (my server) port 8888 (#0)
> POST /my interface path HTTP/1.1
> User-Agent: curl/7.29.0
> Host: my server:8888
> Accept: */*
> Content-Type:text/xml
> Content-Length: 1299
> Expect: 100-continue
> 
< HTTP/1.1 100 Continue
< HTTP/1.1 500 Internal Server Error
< Date: Thu, 26 Nov 2015 12:09:20 GMT
< Connection: close
< Transfer-Encoding: chunked
< Content-Type: text/xml; charset=utf-8
< Content-Language: zh-CN

1 个答案:

答案 0 :(得分:0)

我在网站上获得了解决方案:http://curl.haxx.se/docs/manpage.html#-H 通过在冒号右侧提供没有内容的替换来删除内部标题,如:-H&#34; Host:&#34;。如果您发送带有无值的自定义标头,则其标头必须以分号结束,例如-H&#34; X-Custom-Header;&#34;发送&#34; X-Custom-Header:&#34;。