[分享] 【Beetle ESP32 C6迷你开发板】--6.HTTP Client

dirty   2024-6-2 16:56 楼主

      本篇讲述开发板作为HTTP 客户端,与服务端通讯,获取消息文本。

一.了解HTTP

      HTTP,超文本传输协议,是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式。

 

二.代码准备

1.打开HTTP Client工程。

1_打开工程.jpg
图1:打开HTTP Client工程

2.初始化,添加路由账号密码

2_初始化配置,填上wifi账号密码.jpg
图2:初始化,添加路由AP账号密码

3.运行主程序。连接上WiFi后,设置服务端url,Get消息,获取成功则将消息打印出来,获取失败打印失败码。

void loop() {
  // wait for WiFi connection
  if ((wifiMulti.run() == WL_CONNECTED)) {

    USE_SERIAL.print("Wifi connected!\n");

    HTTPClient http;
  
    USE_SERIAL.print("[HTTP] begin...\n");
    // configure traged server and url
    //http.begin("https://www.howsmyssl.com/a/check", ca); //HTTPS
    http.begin("http://example.com/index.html");  //HTTP

    USE_SERIAL.print("[HTTP] GET...\n");
    // start connection and send HTTP header
    int httpCode = http.GET();

    // httpCode will be negative on error
    if (httpCode > 0) {
      // HTTP header has been send and Server response header has been handled
      USE_SERIAL.printf("[HTTP] GET... code: %d\n", httpCode);

      // file found at server
      if (httpCode == HTTP_CODE_OK) {
        String payload = http.getString();
        USE_SERIAL.println(payload);
      }
    } else {
      USE_SERIAL.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str());
    }

    http.end();
  }

  delay(5000);
}

4.HTTP  Client码可在HTTPClient.h头文件中看到定义,包括经典的404

20240602163702158.jpg
图3:HTTP Code

三.测验

      编译烧录后,打开串口.可看到初始化连接WIFI成功,客户端GET服务端消息成功会将消息打印,失败会打印出原因。日志如下

4_HTTP_Client运行日志.jpg

 

图4

      至此,成功运行HTTPClient功能。

 

回复评论 (1)

完美,成功运行HTTPClient功能,,,

点赞  2024-6-3 07:24
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复