C++ 卡萨布兰卡 POST 请求

C++ Casablanca POST request

我正在开发自定义 Minecraft 启动器,但遇到了一些问题。我需要发送一个 POST 请求,其中包含一些 JSON 到“https://authserver.mojang.com/”,然后检索返回的一些 JSON。

但是,我在发送请求时遇到问题。每当我尝试发送 HTTP 请求时,都会出现 405 错误——请求方法不正确。我不确定为什么这么说。身份验证要求详见:http://wiki.vg/Authentication。下面是我创建 http_client:

的代码
http_client client(L"https://authserver.mojang.com/");
http_request requester;
requester.set_body(obj2);
requester.set_method(methods::POST);
requester.headers().set_content_type(U("application/json"));

如有任何帮助,我们将不胜感激!

你 posted 的 link 说端点是 /authenticate,这让我相信 URL 应该是 https://authserver.mojang.com/authenticate,而不是你在你的post。试试看。

以下请求工作正常并返回了访问令牌:

POST https://authserver.mojang.com/authenticate HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 147
Host: authserver.mojang.com
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)

{
  "agent": {
    "name": "Minecraft",
    "version": 1
  },
  "username": "*******************",
  "password": "*********",
  "clientToken": ""
}