完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在尝试从受密码保护的服务器更新 nodemcu。我可以通过基本的 http 身份验证从 nodemcu 登录(获取 http 代码 200)但是当尝试更新固件时它显示
HTTP_UPDATE_FAILD 错误(-104):错误的 HTTP 代码 我正在使用下面提到的代码 代码:全选#include #include #include "base64.h" #include const char* ssid = "ssid"; const char* password = "pass"; String authUsername = "username"; String authPassword = "password"; void setup() { Serial.begin(115200); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("Connecting to WiFi.."); } Serial.println("Connected to WiFi"); } void loop() { if ((WiFi.status() == WL_CONNECTED)) { //Check the current connection status HTTPClient http; http.begin("server"); String auth = base64::encode(authUsername + ":" + authPassword); http.addHeader("Authorization", "Basic " + auth); //http.setAuthorization("auth"); int httpCode = http.GET(); if (httpCode > 0) { //Check for the returning code String payload = http.getString(); Serial.println(httpCode); Serial.println(payload); } else { Serial.println("Error on HTTP request"); } if (httpCode == 200) { t_httpUpdate_return ret = ESPhttpUpdate.update("server/file.bin"); switch (ret) { case HTTP_UPDATE_FAILED: Serial.printf("HTTP_UPDATE_FAILD Error (%d): %sn", ESPhttpUpdate.getLastError(), ESPhttpUpdate.getLastErrorString().c_str()); break; case HTTP_UPDATE_NO_UPDATES: Serial.println("HTTP_UPDATE_NO_UPDATES"); break; case HTTP_UPDATE_OK: Serial.println("HTTP_UPDATE_OK"); break; } } http.end(); } delay(10000); } |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
523浏览 6评论
433浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
421浏览 5评论
413浏览 4评论
387浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-1 02:08 , Processed in 0.588297 second(s), Total 44, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号