我正在尝试将分析服务器迁移到Debian服务器,而我在REST-API上遇到了一些麻烦。当我试图调用应用程序的登录函数时,我会收到以下错误:Cannot POST /parse/login
。
以下是在收到服务器错误之前成功执行的步骤。
main.js
中。curl -H "X-Parse-Application-Id: <id1>" -H "Content-Type: application/json" -d '{}' 'serverName/parse/functions/login'
。Cannot POST /parse/login
错误。我和curl -H "X-Parse-Application-Id: <id1>" -H "Content-Type: application/json" -d '{}' 'serverName/parse/login'
一起打电话的这是我遵循的迁移指南,这是我所遵循的REST指南。
有人能帮我处理这个服务器错误吗?
发布于 2017-01-20 11:26:13
对,是这样。登录需要GET
方法,而不是POST
!
通过对该GET
执行一个简单的URL
,您将得到以下错误。显然,你需要通过你的对口,才能使它成功。
{
"code": 200,
"error": "username is required."
}
删除-d '{}'
将使curl
恢复为GET
发布于 2017-01-20 11:28:39
这个答案是我对所提供的信息所能做的最好的选择。这个问题很可能是应用程序期望得到一个GET
请求(或者POST
以外的其他一些HTTP方法),但是您的curl请求发送了一个POST
请求。
要查看curl
发送的内容,可以添加-v
(我在example.com
中添加了一个响应服务器)
$ curl -v -H "X-Parse-Application-Id: <id1>" -H "Content-Type: application/json" -d '{}' 'example.com/serverName/parse/login'
* Trying 2606:2800:220:1:248:1893:25c8:1946...
* TCP_NODELAY set
* Connected to example.com (2606:2800:220:1:248:1893:25c8:1946) port 80 (#0)
> POST /serverName/parse/login HTTP/1.1
> Host: example.com
> User-Agent: curl/7.51.0
> Accept: */*
> X-Parse-Application-Id: <id1>
> Content-Type: application/json
> Content-Length: 2
API指南中的登录函数需要一个GET
请求:
为此,向/1/登录端点发送GET请求,用户名和密码作为URL编码参数:
我想,在迁移过程中,您还可以升级到较新的parse.com
应用程序,而旧版本则接受POST
,而较新的版本则不接受。
您需要更改您的curl请求,以使用GET
而不是POST
。跟着提供的例子走。删除-d
参数并添加--data-urlencode
参数
https://stackoverflow.com/questions/41760990
复制相似问题