本章所用方法请参考前文
使用Arduino开发ESP32(十):TCP client
代码:
#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); //连接wifiwhile (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使用