0
wchar_t token[50];  
http_client client(L"https://example.com/dir/");
    http_request request;
    std::stringstream ReqBody;
    std::string ReqBodyS;

    ReqBody << "login=" << TB1T << "&pass=" << TB2T;
    ReqBodyS = ReqBody.str();

    request.set_body(ReqBodyS);
    request.set_method(methods::POST);
    request.headers().set_content_type(U("application/x-www-form-urlencoded"));

    client.request(request).then([](http_response response) {       
        if (response.status_code() == status_codes::OK)
        {
            //
        }
    });

回复喜欢

Connection: keep-alive
Content-type: text/html
SomeHeader: something here

如何将名称为 SomeHeader 的标题中的文本添加到 Token?我想从某个标题中获取令牌文本

4

1 回答 1

0

这是一个旧帖子,但我会给你一些帮助,我想你很久以前就已经解决了你的问题,但如果没有,或者如果有人遇到同样的问题,这里有一些解释。

如果您想使用 C++ Rest SDK aka Casablanca 获取请求的标头:

您的令牌具有标题的属性,按照惯例,它是“授权”。为了获得你的令牌,只是一个基本的例子,你只需要这样做:

auto authorization = utility::conversions::to_utf8string(request.headers()[header_names::authorization]);

我为您的变量类型编写了 auto ,但它可以是 std::string 。

现在,如果您想在请求中添加标头,例如“授权”,您可以像另一个标头参数一样编写它。这里有一个例子:

http_response response;
response.set_status_code(200);
response.headers().add(U("Authorization"), U("your token"));

希望它可以帮助您和其他有类似问题的人。

于 2019-11-18T22:51:30.287 回答