根据特定格式使用curl进行POST

时间:2011-05-02 09:37:24

标签: post curl

我正在尝试使用curl自动收集XML数据,到目前为止我的命令是

curl -E keyStore.pem -d 'uid=myusername&password=mypassword&active=y&type=F' 'https://www.aidaptest.naimes.faa.gov/aidap/XmlNotamServlet HTTP/1.1/' -k

但它继续给我一个“你的浏览器发送了一个这个服务器无法理解的查询。”错误。

我很确定它是连接的,因为它不会拒绝我,但我不知道如何正确格式化POST。以下是他们为POST请求的格式提供的一些文档。

POST <URL>/aidap/XmlNotamServlet HTTP/1.1
Content-type: application/x-www-form-urlencoded
Content-length:  <input_parameter’s length>
<a blank line>
<input_parameter>`

input_parameter是uid,password和location_id位且是正确的

我能从你看到的内容中正确地做到这一点吗?

2 个答案:

答案 0 :(得分:1)

这样的事情应该这样做。

curl -E keyStore.pem -v -X POST -i --header Content-Type:application/x-www-form-urlencoded
 -d 'uid=myusername&password=mypassword&active=y&type=F' 'https://www.aidaptest.naimes.faa.gov/aidap/XmlNotamServlet'

答案 1 :(得分:1)

我认为在命令行的URL末尾不需要HTTP/1.1。即使你需要它,你在结束单引号之前肯定不需要最后的/字符。