使用Arduino开发ESP32(十一):Web Client

本章所用方法请参考前文html

使用Arduino开发ESP32(十):TCP clientweb

代码:浏览器

#include <WiFi.h>

const char *ssid = "Wifi名称";
const char *password = "wifi密码";

const char *host = "www.baidu.com"; //欲访问的域名

void setup()
{
    Serial.begin(115200);
    Serial.println();

    WiFi.mode(WIFI_STA);
    WiFi.setSleep(false); //关闭STA模式下wifi休眠,提升响应速度
    WiFi.begin(ssid, password);     //链接wifi 
    while (WiFi.status() != WL_CONNECTED)    //判断是否链接上wifi
    {
        delay(500);
        Serial.print(".");
    }
    Serial.println("Connected");
    Serial.print("IP Address:");
    Serial.println(WiFi.localIP());   //打印本机ip地址
}

void loop()
{
    WiFiClient client; //声明一个客户端对象,用于与服务器进行链接

    Serial.println("尝试访问服务器");
    if (client.connect(host, 80)) //80为通常网站的端口号
    {
        Serial.println("访问成功");

        //向服务器发送请求头,请求该网页的http文件 具体内容能够百度:http 请求行 格式
        client.print(String("GET /") + " HTTP/1.1\r\n" +
                     "Host: " + host + "\r\n" +
                     "Connection: close\r\n" +
                     "\r\n");

        //如下代码将收到的网页数据按行打印输出
        //若是是浏览器,则会将收到的html文件渲染成咱们通常看到的网页
        while (client.connected() || client.available()) //若是已链接或有收到的未读取的数据
        {
            if (client.available()) //若是有数据可读取
            {
                String line = client.readStringUntil('\n'); //按行读取数据
                Serial.println(line);
            }
        }

        client.stop(); //关闭当前链接
    }
    else
    {
        Serial.println("访问失败");
        client.stop(); //关闭当前链接
    }
    delay(10000);
}

结果:服务器

在这里插入图片描述

参考:
使用Arduino开发ESP32(08):TCP Client与TCP Server使用svg