Esp32-Arduino学习(网络客户端基本操作)


注:本文代码来自于太极创客: ,由于太极创客教程是基于esp8266,所以略有改动
HTTPClient 和 WIFIClient 两个库都可以使用网络客户端,但是后者支持stream数据流而前者不支持,所以一般用WiFiClient

网络客户端操作1-HTTPClient

#include <WiFi.h>
#include <HTTPClient.h>
 
// 测试HTTP请求用的URL。注意网址前面必须添加"http://"
#define URL "http://www.baidu.com"
 
// 设置wifi接入信息(请根据您的WiFi信息进行修改)
const char* ssid = "****";
const char* password = "******";
 
void setup() {
          
   
  //初始化串口设置
  Serial.begin(115200);
 
  //设置ESP8266工作模式为无线终端模式
  WiFi.mode(WIFI_STA);
 
  //开始连接wifi
  WiFi.begin(ssid, password);
 
  //等待WiFi连接,连接成功打印IP
  while (WiFi.status() != WL_CONNECTED) {
          
   
    delay(1000);
    Serial.print(".");
  }
  Serial.println("");
  Serial.print("WiFi Connected!");
  
  httpClientRequest();  
}
 
void loop() {
          
   }
 
// 发送HTTP请求并且将服务器响应通过串口输出
void httpClientRequest(){
          
   
 
  //重点1 创建 HTTPClient 对象
  HTTPClient httpClient;
 
  //重点2 通过begin函数配置请求地址。此处也可以不使用端口号和PATH而单纯的
  httpClient.begin(URL); 
  Serial.print("URL: "); Serial.println(URL);
 
  //重点3 通过GET函数启动连接并发送HTTP请求
  int httpCode = httpClient.GET();
  Serial.print("Send GET request to URL: ");
  Serial.println(URL);
  
  //重点4. 如果服务器响应HTTP_CODE_OK(200)则从服务器获取响应体信息并通过串口输出
  //如果服务器不响应HTTP_CODE_OK(200)则将服务器响应状态码通过串口输出
  if (httpCode == HTTP_CODE_OK) {
          
   
    // 使用getString函数获取服务器响应体内容
    String responsePayload = httpClient.getString();
    Serial.println("Server Response Payload: ");
    Serial.println(responsePayload);
  } else {
          
   
    Serial.println("Server Respose Code:");
    Serial.println(httpCode);
  }
 
  //重点5. 关闭ESP8266与服务器连接
  httpClient.end();
}

网络客户端操作2-WiFiClient

我是用这段代码访问了百度服务器首页

经验分享 程序员 微信小程序 职场和发展