当我使用以下内容发出发布请求时
curl -i -d "username=rock&password=rock" http://my_VM_IP/api/1.1/json/my_login/
它生成所需的响应,生成这样的令牌(删节):
HTTP/1.1 200 OK
Date: Mon, 22 Oct 2012 08:37:39 GMT
Vary: Authorization,Accept-Language,Cookie,Accept-Encoding
Content-Type: text/plain
Transfer-Encoding: chunked
OK{"success": {"my_token": "required_token"}}
但是当我尝试相同的方法时,包括标题:
curl -i -H "Content-Type:application/json" -d "username=rock&password=rock" http://my_VM_IP/api/1.1/json/my_login/
它给了我以下错误:
HTTP/1.1 400 BAD REQUEST
Date: Mon, 22 Oct 2012 11:12:04 GMT
Vary: Authorization,Accept-Language,Cookie,Accept-Encoding
***Content-Type: text/plain***
Content-Language: en-us
Connection: close
Transfer-Encoding: chunked
Bad Request
我不明白为什么会这样。还有为什么 content-Type 显示 text/plain,我还尝试查看其他一些问题,例如为什么设置 POST Content-type:"Application/Json" 会导致 REST WebService 出现“错误请求”?. 它也解决了我遇到的同样的问题。按照答案,我尝试以各种格式提供数据
{"username":"rock", "password":"rock"}
但没有成功。提前致谢。