2

我正在运行本地 node.js 服务器。我需要使用 curl 发出 POST 请求。这个请求应该对用户进行身份验证。所以我在请求中指定了用户名和密码。问题是我收到一个错误,即找不到令牌,即使登录凭据正确(我可以直接登录到远程服务器)。

curl  --user username:mypassword -X POST -d '["some data"]' "http://0.0.0.0:3000/problems/problemId"

服务器响应:

can not find match token bXNoYXZsb4Z1

可能是什么问题?我正确使用 curl 吗?

4

1 回答 1

0

您的问题中没有关于服务器端的足够详细信息,但问题可能来自 POST 数据的编码。

从手册页curl

-d, --data 与 --data-ascii 相同。要发布纯二进制数据,您应该改用 --data-binary 选项。要对表单字段的值进行 URL 编码,您可以使用 --data-urlencode。

所以你应该尝试这些不同的选择。

-X选项也可以删除。从手册页:

通常你不需要这个选项。各种 GET、HEAD、POST 和 PUT 请求都是通过使用专用命令行选项来调用的。

于 2015-03-05T22:20:36.677 回答