ESP8266网络客户端基本操作-02-使用WiFiClient库实现网络通讯

ESP8266网络客户端基本操作-02-使用WiFiClient库实现网络通讯

String httpRequest = String("GET /") + " HTTP/1.1\r\n" + "Host:" + host + "\r\n" + "Connection: close\r\n" + "\r\n";

\r 表示回车键。
\n 为换行,另起一行。
“\r\n”告诉服务器每行的请求信息结束了。
最后一个“\r\n”表示整个请求内容结束

#include <ESP8266WiFi.h>

const char* host = "www.example.com";//网络服务其地址
const int port = 80;//端口号

//WiFi信息
const char* ssid = "1124";
const char* password = "11241124";

void setup(){
  Serial.begin(9600);
  Serial.println("");

  WiFi.mode(WIFI_STA);

  WiFi.begin(ssid,password);
  Serial.println("WiFi Start Coonnect");
  while(WiFi.status() != WL_CONNECTED){
    delay(1000);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi Connected");

  WifiClientRequest();   
}

void loop(){
  
}

void WifiClientRequest(){

  //建立WiFi客户端对象
  WiFiClient wifiClient;

  //建立字符串,用于http请求
  /*
    GET / HTTP/1.1
    Host:www.example.com
    Connection: close
   */
  String httpRequest = String("GET /") + " HTTP/1.1\r\n" + "Host:" + host + "\r\n" + "Connection: close\r\n" + "\r\n";

  Serial.print("Connecting to: ");
  Serial.println(host);

  if(wifiClient.connect(host,port)){
    Serial.println("Connect Success!");

    //向服务器发送http请求
    wifiClient.print(httpRequest);
    Serial.println("Sending request: ");
    Serial.println(httpRequest);

    Serial.println("Web Server Response:");
    while(wifiClient.connected() || wifiClient.available()){
      if(wifiClient.available()){
        String lineData = wifiClient.readStringUntil('\n');
        Serial.println(lineData);
      }      
    }
    wifiClient.stop();
    Serial.print("DisConnected from ");
    Serial.println(host);
  }else{
    Serial.println("Connect Failed!");
    wifiClient.stop();
  }
}

猜你喜欢

转载自blog.csdn.net/X_King_Q/article/details/112062227