【发布时间】:2012-10-12 04:50:48
【问题描述】:
当我使用以下方式发出发布请求时
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,我还尝试查看其他一些问题,例如 Why Setting POST Content-type:"Application/Json" causes a "Bad Request" on REST WebService? 。它也解决了我遇到的同样的问题。按照答案,我尝试将各种格式的数据作为
{"username":"rock", "password":"rock"}
但没有成功。提前致谢。
【问题讨论】:
标签: django api curl http-post django-piston