esp8266httpclient_get_post使用
#include<ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
//const char *ssid = "AxxxIFI";
const char *password = "xxxs879xxx68";
const char* ssid = "IT-nxxxang";
const char* URL = "http://172.127.5.27:927/"; // 测试HTTP请求用的URL。注意网址前面必须添加"http://"
const char* post_string = "{\"robot_id\":1}";
void setup() {
Serial.begin(115200); //启动串口,并设置波特率为115200
connectWiFi(); //连接WiFi
httpClientRequest(); //通过客户端发送http请求,并响应
}
void loop() {
httpClientRequest(); //通过客户端发送http请求,并响应
delay(5000);
}
void httpClientRequest(){
HTTPClient httpClient; //1、创建http的客户端
httpClient.begin(URL); //2、通过begin函数配置请求地址。此处也可以不使用端口号
Serial.print("URL: ");
Serial.println(URL);
//int httpCode = httpClient.GET(); //3、通过GET函数启动连接并发送HTTP请求
int httpCode = httpClient.POST(post_string);
if (httpCode > 0) {
Serial.printf("[HTTP] GET... code: %d\n", httpCode);
if (httpCode == HTTP_CODE_OK) {
String payload = httpClient.getString(); //获取响应体
Serial.println(payload);
} else {
Serial.printf("[HTTP] GET... failed, error: %s\n", httpClient.errorToString(httpCode).c_str());
}
} else {
Serial.printf("[HTTP] Unable to connect\n");
}
httpClient.end();
}
void connectWiFi(){
Serial.println();
Serial.print("Connecting to");
Serial.println(ssid);
WiFi.begin(ssid,password); //启动WIFI
while(WiFi.status()!=WL_CONNECTED){ //判断WiFi的连接状态,如果没有连接成功,等待
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.print("IP address:");
Serial.println(WiFi.localIP()); //获取本机的IP
}