gpt4 book ai didi

http-post - 如何使用身份验证 POST 到 ESP8266 上的 RESTful API?

转载 作者:行者123 更新时间:2023-12-03 00:02:54 26 4
gpt4 key购买 nike

我可以从浏览器输入此 URL,输入我的凭据后,这会成功调用我的 API http://172.16.0.40/rest/vars/set/1/12/666

我正在尝试使用 HTTPClient 从 ESP8266 执行此操作。我的凭据是用户名:密码,我使用在线转换实用程序获取dXNlcm5hbWU6cGFzc3dvcmQ=

执行时,以下命令返回错误701(不知道那是什么)。

HTTPClient http;
http.begin("172.16.0.40", 80, "/");
http.addHeader("Content-Type", "text/plain");
http.addHeader("Authorization", "dXNlcm5hbWU6cGFzc3dvcmQ=");
auto httpCode = http.POST("rest/vars/set/1/12/999");

如果我注释掉授权 header ,我会收到 401,这是未经授权的访问。我做错了什么?

最佳答案

您正在尝试使用 rest/vars/set/1/12/999 作为负载向 http://172.16.0.40/ 发出 POST 请求。

HTTP 状态代码 701 不是标准代码,可能是特定于服务器的。

您可能打算这样做:

HTTPClient http;
http.begin("172.16.0.40", 80, "/rest/vars/set/1/12/999");
http.addHeader("Content-Type", "text/plain");
http.addHeader("Authorization", "Basic dXNlcm5hbWU6cGFzc3dvcmQ=");
auto httpCode = http.POST(payload);

如果您想要 GET 请求,请调用 http.GET() 而不是 http.POST(payload),您应该得到与浏览器内相同的响应。

编辑:
正如 @MaximilianGerhardt 已经回答的那样,您需要将 Basic 添加到您的 Authorization header 中。

关于http-post - 如何使用身份验证 POST 到 ESP8266 上的 RESTful API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41187046/

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