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的标题添加文本到令牌? 我想从someheader获取令牌文本
答案 0 :(得分:0)
这是一篇旧文章,但是我会为您提供帮助,我想您很久以前就已经解决了您的问题,但是如果没有解决,或者如果有人遇到了同样的问题,请在这里进行一些解释。
如果您想使用C ++ Rest SDK(也称为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"));
希望它可以帮助您和其他遇到类似问题的人。