我正在尝试使用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位且是正确的
我能从你看到的内容中正确地做到这一点吗?
答案 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
。即使你需要它,你在结束单引号之前肯定不需要最后的/
字符。