0
点赞
收藏
分享

微信扫一扫

Arduino执行http请求GET方式

hoohack 2022-04-04 阅读 89
使用语言:Arduino
开发板:Node Mcu ESP8266 CH340
编辑器:Visual Studio Code

问题描述:

在使用Arduino开发过程中,有些时候,需要请求网络的资源,比如通过get方式访问获取网页的html源码;


解决方式:

Arduino提供了ESP8266HTTPClient.h库,便于我们使用开发板进行http请求;

因为需要开发板联网之后,才能进行网络访问请求,所以需要引用下面的两个库文件;

编写代码:

#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>

//使用esp8266,进行htpp访问请求,并且返回网页的源码

//设定WiFi的名称和密码;
const char *ssid="你的WiFi名称";
const char *password="你的WiFi密码";


void setup() {

    //定义串口信息
    Serial.begin(9600);
    //让开发板连接wifi网络
    WiFi.mode(WIFI_STA);
    WiFi.softAP(ssid,password);
    while (WiFi.status() != WL_CONNECTED)
    {
        delay(200);
        Serial.print(".");
    }
    Serial.println();
    //当联网时候则输出开发板的ip地址;
    Serial.println(WiFi.localIP());

    //启动函数进行http请求 void定义的函数,是没有返回值的;
    esp8266http();

    
}


void esp8266http(){

    //新建有一个HTTPClient的对象httpClient
    HTTPClient httpClient;

    //设定请求的url;
    httpClient.begin("http://192.168.31.88/");
    //此处我是访问局域网的一个web地址,请根据实际情况对上面的链接进行更换
    
    //设定get请求,并且返回请求码;
    int httpCode = httpClient.GET();
    Serial.print(httpCode);
    //设定浏览器ua
    httpClient.setUserAgent("Mozilla/5.0 (Windows NT 11.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.82 Safari/537.36");

    //如果get请求返回HTTP_CODE_OK,则代表和服务器请求成功;
    if (httpCode==HTTP_CODE_OK){

        //获取请求url的浏览器html代码;
        String resp =httpClient.getString();

        //向串口输出html代码
        Serial.println(resp);
    }

    //结束请求
    httpClient.end();
}

void loop() {
  

}

实现效果:

文章结尾:

如果本文的解决方案,对您有帮助的话,请不要吝啬你的赞,谢谢!

举报

相关推荐

0 条评论