gpt4 book ai didi

c++ - 无法识别 HTTP header 字段

转载 作者:太空宇宙 更新时间:2023-11-04 12:48:31 25 4
gpt4 key购买 nike

我正在尝试使用 boost::beast 以便通过 HTTP 与服务器进行通信。

我在客户端工作,想发送一个至少包含以下 header 字段的请求:“X-API-SIGNATURE”。

我正在按如下方式创建请求:

http::request<http::dynamic_body> request;
request.version(11);
request.method(http::verb::get);
request.target("/test");
request.set(http::field::host, host_);
request.set("X-API-KEY", key_);
request.set("X-API-SIGNATURE", signature_);

int count_Header_Field_X_API_SIGNATUR = request.count("X-API-SIGNATURE"); // This is 1.
int count_Header_Field_X_API_Bla = request.count("X-API-BLA"); // This is 0.

我发送请求如下:

        boost::beast::http::async_write(
*socket_,
request,
std::bind(
&Testclass::on_write,
shared_from_this(),
std::placeholders::_1,
std::placeholders::_2));
}

之后我收到服务器的响应并报告错误:

{"errors":[{"message":"Missing header: X-API-SIGNATURE","code":1,"field":"X-API-SIGNATURE"}],"credits":8}

我不明白为什么服务器无法识别我之前插入到请求中的“X-API-SIGNATURE” header 字段。

我做错了什么?

最佳答案

更新:看起来你正在根据 HTTP 协议(protocol)正确地做所有事情,但是服务器不喜欢你的请求的某些特定内容

signature_ 的值是多少?

下面语句的输出是什么?

std::cout << request["X-Api-Signature"] << "\n";

关于c++ - 无法识别 HTTP header 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50194934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com