【ESP8266】发送HTTP请求

ESP8266----HTTP超文本传输协议 介绍8266如何通过http超文本传输协议来读取网页内容 阅读详情

一、ESP8266简介

  ESP8266 是深圳安信可科技有限公司开发的基于乐鑫ESP8266的超低功耗的UART-WIFI模块的模组,可以方便进行二次元开发,接入云端服务,实现手机3/4G全球随时随地的控制,加速产品原型设计。

  核心模块处理器ESP8266在较小尺寸中继承了业界领先的Tensilical106超低功耗32位微型MCU,带有16位精简模式,支持RTOS(实时操作系统,指当外界事件或者数据变化时候能够以足够快的速度处理),集成WIFI/MAC/BB/RF/PA/LAN,板载天线。支持IEEE802.11b/g/n协议,完整的TCP/IP协议。

二、开发环境

  开发环境采用Arduino IDE for ESP8266 采用 Arduino 语法进行编程设计。

三、编程

 1. HTTP相关知识

    HTTP是一套计算机网络通讯规则。下来主要介绍一下HTTP消息格式。详细HTTP请求请戳链接。

    

    HTTP请求数据格式:

    当浏览器发送请求是,向服务器发送了一个数据块,也就是请求信息,其中信息由三部分组成。

    1. 请求方法 URI协议/版本

    2. 请求头(Request Header)

    3. 请求正文

    eg. 

1 GET/sample.jspHTTP/1.1
2 Accept:image/gif.image/jpeg,*/*
3 Accept-Language:zh-cn
4 Connection:Keep-Alive
5 Host:localhost
6 User-Agent:Mozila/4.0(compatible;MSIE5.01;Window NT5.0)
7 Accept-Encoding:gzip,deflate
8  
9 username=jinqiao&password=1234

 

    

    HTTP 请求应答格式:

    当服务器收到浏览器的请求时,会向客户端返回数据,数据主要由三部分组成

    1. 协议状态 版绷带吗描述

    2. 响应头(ResponseHeader)

    3. 响应正文

    eg. 

    

1 HTTP/1.1 200 OK
2 Server:Apache Tomcat/5.0.12
3 Date:Mon,6Oct2003 13:23:42 GMT
4 Content-Length:112
5 
6 data(返回数据)

 

 

    

 2. ESP8266 编程

   下附esp8266模块发送请求的代码

 1 /*
 2  *  HTTP over TLS (HTTPS) example sketch
 3  *
 4  *  This example demonstrates how to use
 5  *  WiFiClientSecure class to access HTTPS API.
 6  *  We fetch and display the status of
 7  *  esp8266/Arduino project continous integration
 8  *  build.
 9  *
10  *  Created by Ivan Grokhotkov, 2015.
11  *  This example is in public domain.
12  */
13 
14 #include <ESP8266WiFi.h>
15 #include <WiFiClientSecure.h>
16 
17 const char* ssid = "zlei";
18 const char* password = "18829237005";
19 
20 const char* host = "15r34407v7.imwork.net"; //需要访问的域名
21 const int httpsPort = 37170;  // 需要访问的端口
22 const String url = "/test";   // 需要访问的地址
23 
24 void setup() {
25   Serial.begin(9600);
26   Serial.println();
27   Serial.print("connecting to ");
28   Serial.println(ssid);
29   WiFi.begin(ssid, password); // 连接WIFI
30   while (WiFi.status() != WL_CONNECTED) {
31     delay(500);
32     Serial.print(".");
33   }
34   Serial.println("");
35   Serial.println("WiFi connected");
36   Serial.println("IP address: ");
37   Serial.println(WiFi.localIP()); // 显示WIFI地址
38 }
39 
40 void loop() {
41   Serial.print("connecting to ");  
42   Serial.println(host);  
43 
44   WiFiClient client;  
45 
46   /**
47    * 测试是否正常连接
48    */
49   if (!client.connect(host, httpsPort)) {  
50     Serial.println("connection failed");  
51     return;  
52   }  
53   delay(10);  
54   
55   String postRequest =(String)("GET ") + url + "/ HTTP/1.1\r\n" +  
56     "Content-Type: text/html;charset=utf-8\r\n" +  
57     "Host: " + host + "\r\n" + 
58     "User-Agent: BuildFailureDetectorESP8266\r\n" +
59     "Connection: Keep Alive\r\n\r\n";  
60   Serial.println(postRequest);  
61   client.print(postRequest);  // 发送HTTP请求
62 
63   /**
64    * 展示返回的所有信息
65    */
66   String line = client.readStringUntil('\n');
67   while(line.length() != 0){
68     Serial.println(line);
69     line = client.readStringUntil('\n');
70   }
71   Serial.println(line);
72   client.stop();
73   delay(3000); 
74 }

  总结: 通过 WiFiClient 的 connect 方法来进行WIFI链接 通过print方法来发送HTTP请求, 以及readStringUntil('\n') 来读取服务器端返回的数据。

  其中测试结果如图所示:

  、

  如有错误,欢迎指正。

    

物联网开发esp8266通过HTTP协议连接新版onenet云平台(一) 因为项目需求,需要STM32板子与上位机通信,偷懒不想设计app所以采用物联网方式,本来是打算通过MQTT连接阿里云平台,但是不知道是ESP8266模块的问题还是烧录固件出现问题。在等待新的ESP8266模块到来,先尝试用HTTP协议连接云平台,但是后面发现问题,HTTP协议只能上报,如果要设备能接收云平台的消息还需要开通推送比较麻烦。 阅读详情

相关推荐

Arduino esp8266 wifi模块发送http请求

在以往的单片机编程过程中,可能大多数人更加熟悉的是单片机的wifi模块与服务器建立socket连接。然而,当遇到我们的数据需要在网页动态显示、文件上传等情况时则双方不需要保持连接在线的情况时,可能双方建立http连接是更好的选择。     由于之前没有相关经验,所以在写http协议时遇到了比较大的困难,经过几天的调试之后发现问题的根源还是http请求的格式不对,服务器报出了400的错误,起初认为

lrh_12580的博客 3万+

ESP8266学习进阶协议类(1)——http请求

HTTP简介 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。 HTTP工作原理 HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发...

大大棋的博客 4063

【ESP8266】NONOS SDK开发,发送HTTP请求

网络方面不是很懂,可能描述有一点不准确。 主要是通过ESP8266,在NONOS-SDK环境下,用URL地址,发出HTTP请求,接收并处理信息。 假设已经大致了解厂家提供的SDK,以及Eclipse开发环境如何使用,现在大致要做的是以下几步: 1、连上WiFi(连上网络) 2、与URL地址的服务器建立TCP连接 3、发出HTTP请求 4、接收并处理信息

jyyyyyy 8313

ESP8266之HTTP请求

ESP8266之HTTP请求前言GET请求POST请求 前言 HTTP需要引用两个头文件:ESP8266Client.h,ESP8266HTTPClient.h。 ESP8266根据网上的API使用HTTP请求来获取自己想要的信息,例如天气、阿里云的人工智能。 GET请求 定义WIFI客户端和HTTP客户端,将将HTTP客户端开启 WiFiClient client;//定义WiFi客户端 HTT...

qq_44690417的博客 5460

ESP8266 AT指令实战:用NodeMCU连接WiFi并发送HTTP请求(2023最新版)

本文详细介绍了如何使用NodeMCU开发板通过AT指令连接WiFi并发送HTTP请求的实战教程(2023最新版)。从环境搭建、WiFi连接配置到HTTP通信实现,逐步解析关键步骤和调试技巧,帮助开发者快速掌握ESP8266的网络编程能力,适用于物联网设备开发与智能家居应用。

weixin_29271263的博客 380

使用esp8266 wifi芯片和DFRduino开发板(Arduino也可以),向自己的服务器发送请求(尽可能详细的说明)

研究过嵌入式方面的人都应该了解 esp8266 wifi芯片,前段时间接触一个小竞赛,需要一块传输数据给服务器的模块,毫不犹豫选择了esp8266,可能是自己孤陋寡闻吧...  进入正题1. 开发环境  Arduino    编写芯片程序需要  eclipse      编写服务端程序  花生壳        内网穿透2. 硬件连线图(图片源自网络)2. 首先使用软串口的方式 ,使用单片机和esp...

Helxi的博客 3972

esp8266post请求html,在ESP8266上发送简单的HTTP Post请求

我需要使用ESP8266发送简单的HTTP POST请求。它包含&#34; form-data&#34;。中的数据它应该是这样的:POST http://testserver.com{"auth_key":"key","data":[{"key":"temperature","value":31.2},{"key":"humidity","value":50}]}对于测试,我使用的是Chrome应...

weixin_31998371的博客 3403

ESP8266通过http Get方法获取网络数据

ESP8266通过http Get方法获取网络数据 相关篇《ESP8266通过http post方法获取网络数据》 客户端和服务端之间的通讯 客户端与服务器通讯时最常被用到的方法是:GET 和 POST。 GET – 从指定的资源请求数据。 POST – 向指定的资源提交要被处理的数据。 Get方法 http.GET() 返回值:无返回值 以下是常见的HTTP状态码(以下括号中内容为ESP8266HTTPClient库声明定义的HTTP状态码替代文字,具体内容可参考ESP8266库ES

perseverance51博客 3433

arduino get请求_ESP8266发送HTTP请求GET请求POST请求

一、ESP8266简介ESP8266 是深圳安信可科技有限公司开发的基于乐鑫ESP8266的超低功耗的UART-WIFI模块的模组,可以方便进行二次元开发,接入云端服务,实现手机3/4G全球随时随地的控制,加速产品原型设计。核心模块处理器ESP8266在较小尺寸中继承了业界领先的Tensilical106超低功耗32位微型MCU,带有16位精简模式,支持RTOS(实时操作系统,指当外界事件或者数据...

weixin_39895167的博客 3597

ESP8266透传:使用HTTP POST请求发送json格式的数据到虚拟测试桩(HTTP服务器)

关于如何建立一个HTTP的虚拟测试桩的方法如下,通过SoapUI建立一个HTTP测试桩,用来模拟远端HTTP服务器。 https://blog.youkuaiyun.com/russ44/article/details/52230355 ESP8266进入透传的配置:(以串口115200波特率为例) (1)设置WIFI模式 AT+CWMODE=3 //...

Bruce.yang的嵌入式之旅 1万+

Mac新手必看:nvm安装全攻略(含常见错误解决方案)

本文为Mac开发者提供nvm安装与使用全攻略,涵盖环境准备、安装步骤、Shell配置优化及常见错误解决方案。详细讲解如何利用nvm管理多Node版本,提升开发效率,特别针对国内用户提供网络问题解决技巧,是Mac新手必备的Node版本管理指南。

weixin_28839699的博客 1609

esp8266 php服务器,esp8266模块通过AT指令请求进行HTTP请求发送数据到服务器

esp8266模块通过AT指令请求进行HTTP请求发送数据到服务器现在介绍一下使用esp8266模块串口发送AT指令的方式通过http方式GET、POST请求,发送温湿度到服务器并存入数据库。首先我们需要搭建一个ESP8266的服务器。这里我使用PHP搭建。一、服务器搭建1、装phpstudy软件。打开网站根目录。我在网站根目录下新建了一个zhsx的文件夹,里面存放PHP的文件。一个有两个php文...

weixin_28782823的博客 1189

简单搭建 可视化日志+链路追踪

JAVA 可视化日志、链路追踪、plumeLog、Tlog、Logback

qq_39535439的博客 1204

ESP8266使用AT指令发送GET方式HTTP请求

ESP8266使用AT指令发送GET方式HTTP请求写在前面好的建议正式开始完整流程及演示效果 写在前面 今天开始调试ESP8266模块,想要使用它以串口AT命令的方式发送GET请求,用来上报信息给服务器端。在查找资料和实验的过程中发现网上的讲解并不是详细,东拼西凑看了几篇才走下来,在此写一个尽量“清楚明白”的文章,欢迎大家一起交流。 好的建议 1.建议大家现在每次都记事本上写AT命令,然后复制到串口助手上去,这样: 不会误操作:有的串口助手会将回车当作发送指令,容易误动作。 记录可以保留:调过AT指令的

whstudio123的博客 1万+

用Python实现四叉树(quad tree)

import numpy as np #正方形类 class square: #lx、ly为左上角坐标(x对应行号,y对应列号),rx、ry为右下角坐标 def __init__(self,lx,ly,rx,ry): self.lx=lx self.ly=ly self.rx=rx self.ry=ry #检查该矩阵中是否满足条件 #参数:原矩阵,阈值 #返回值:布尔类型 def check(s

weixin_44164489的博客 5868

别再折腾框架了!用华为应用市场官方渠道搞定GBOX,安全安装谷歌全家桶(鸿蒙HarmonyOS 3/4实测)

本文详细介绍了如何在鸿蒙系统上通过华为应用市场官方渠道安全安装GBOX,实现谷歌全家桶的无损使用。该方法避免了传统破解方式的安全风险,利用沙箱技术隔离运行环境,确保系统稳定性和数据安全。特别适合鸿蒙HarmonyOS 3/4用户安全使用谷歌生态应用。

weixin_29305313的博客 4771

串口发送信息给8266服务器,ESP8266实现http请求访问远程服务器

之前用esp8266进行了一般的tcp连接,现在需要做一个可以直接访问远程服务器的项目,因此,研究了一下如何用esp8266实现http协议,由于网上的资料很杂,而且好像都没有说的很清楚。这里做出一个总结,关于之前的命令见下面的网址。https://blog.youkuaiyun.com/qq_34020487/article/details/100904978由于http协议处在tcp/ip协议的应用层,t...

weixin_28731231的博客 1216

基于MATLAB Simulink的电动汽车整车控制仿真

在本文中,我们选择了power_ElectricVehicle示例模型,该模型已经包含了电动汽车的基本组成部分,包括电机、变速器、驱动轮、电池等。例如,使用PID控制器来控制电机的转速,使用ABS控制器来控制车轮的制动力,使用转向控制器来控制车辆的转向角度,使用悬挂控制器来控制车轮的姿态等。通过建立模型和实现控制器,我们可以比较直观地了解电动汽车的工作原理和性能特点,并验证设计的控制系统在不同工况下的效果。而在电动汽车的开发中,整车控制系统是至关重要的一个组成部分,直接影响着电动汽车的性能和性价比。

qq_39605374的博客 1800

[Springboot][STM32]Springboot+STM32+ESP8266 使用HTTP的GET与POST发送请求向Springboot项目上传数据并展示

我滴老本行来喽啦啦啦啦啦啦啦

qq_41873771的博客 8905

爬虫不宕机!2026自愈式爬虫开发(Python+AI自动应对页面改版)

传统爬虫最大的痛点是"页面一改就宕机":前端布局调整、CSS选择器失效、数据结构变化,都会导致爬虫瘫痪,需要人工逐行修改代码。2026年,基于AI的自愈式爬虫成为行业标配:通过大模型自动识别页面结构变化、适配新的元素定位规则、修复数据提取逻辑,实现"页面改版不宕机,AI自动自愈"的企业级效果。本文从零讲解如何用Python+AI构建自愈式爬虫,聚焦页面改版自适应、故障自动修复、规则动态更新三大核心能力,附带可直接落地的生产级代码。问题场景解决方案LLM生成规则格式错误。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1215

Unity Hololens2开发|(三)工程发布及真机部署(3种方法)

选择项目->属性,进入项目属性页,选择调试,将HoloLens2的IP地址填写至页面,如下图。确保HoloLens2与计算机在同一网络下,并保持开启状态,点击运行,即开始生成部署.注意:该方式不支持覆盖安装,如果重复安装同一个App,需要先卸载再安装!选择Release下的ARM64,选择远程计算机,如下图。

游戏开发小Y的博客 14万+

esp8266客户端请求

#include <ESP8266WiFi.h> #include <ESP8266HTTPClient.h> #define URL "http://xxxxx/xxxx" // 设置wifi接入信息(请根据您的WiFi信息进行修改) const char* ssid = "mark2"; const char* password = "xxx"; void setup() { //初始化串口设置 注意波特率 Serial.begin(115200);

qq_40850266的博客 921

客服转人工率直降60%!OpenClaw深度集成NLP引擎,打造企业级对话自动化智能客服系统

本文介绍了一套基于OpenClaw智能体框架和NLP大模型引擎的智能客服系统解决方案。该系统通过深度集成NLP引擎实现精准语义理解,采用分层架构设计支持多渠道接入和业务系统对接,显著提升了客服效率。核心亮点包括:92%的重复问题自动解决率,60%的转人工率下降,40%的人力成本降低,以及从30秒压缩至0.5秒的平均响应时长。文章详细阐述了技术选型、系统架构设计、核心模块实现等关键环节,展示了如何通过智能对话系统破解传统客服业务中的人力资源与服务质量矛盾。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 361

ESP8266 GET请求

#include <ESP8266WiFi.h> #include <ESP8266HTTPClient.h> #include <WiFiClient.h> const char* ssid = ""; const char* password = ""; String url = ""; //设置延迟时间 unsigned long lastTime = 0; unsigned long timerDelay = 5000; void setup() {..

时越的博客 2977

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

上一篇: 【Mongo】Mongo错误笔记(一)
下一篇: 【HTTP请求】、详解
三生石1103
博客等级 码龄12年 16粉丝 87原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值