【问题标题】:C++ Casablanca POST requestC++ 卡萨布兰卡 POST 请求
【发布时间】:2015-06-02 22:16:13
【问题描述】:

我正在开发自定义 Minecraft 启动器,但遇到了一些问题。我需要向“https://authserver.mojang.com/”发送一个包含一些 JSON 的 POST 请求,然后检索一些返回的 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"));

任何帮助将不胜感激!

【问题讨论】:

  • 刚刚清空了请求,所以它只发送一个空白的 POST——同样的问题。让我相信问题在于卡萨布兰卡的 POST 格式?

标签: c++ json http minecraft casablanca


【解决方案1】:

您发布的链接说端点是 /authenticate,这让我相信 URL 应该是 https://authserver.mojang.com/authenticate,而不是您在帖子中写的那个。试试看。

【讨论】:

    【解决方案2】:

    以下请求正常运行并返回访问令牌:

    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": ""
    }
    

    【讨论】: