目录
前言
介绍8266如何通过http超文本传输协议来读取网页内容
浏览器和服务器之间的请求和响应的交互,必须按照规定的格式和遵循一定的规则
这些格式和规则就是超文本传送协议HTTP。也即是说如果浏览器想向服务器请求某个页面的话,浏览器必须向服务器发送符合超文本传送协议的报文,服务器接收到这个报文,才会向浏览器返回它所要请求的页面,
HTTP使用了面向连接的TCP作为运输层协议,保证了数据的可靠传输面向连接:是指发送数据之前必须在两端建立连接。建立连接的方法是“三次握手”,这样能建立可靠的连接。建立连接,是为数据的可靠传输打下了基础。
TCP的端口80
HTTP的报文结构
这里的8266将会向瑞生网发送请求报文,瑞生网将会向8266返回响应报文
这里将使用GET这个操作 加两个回车开始发送
接收到很多消息,画红圈的说明什么呢 ,说明服务器接受我们的请求报文,下面是瑞生网向我们发送的响应报文
可以看到瑞生网这个页面的源代码和网络调试助手接收到的是一样的,汉字不一样是因为,瑞生网使用的是UTF-8格式的编码,而网络调试助手是GBK的编码,汉字显示了乱码,这样的话就说明网络调试助手成功地向瑞生网发送了http请求报文,瑞生网也向网络调试助手响应了http响应报文,我们的网络调试助手和瑞生网建立了http通信
http例程
user_init
将8266设为sta模式并设置1s定时
void ICACHE_FLASH_ATTR user_init(void)
{
uart_init(115200,115200); // 初始化串口波特率
os_delay_us(10000); // 等待串口稳定
os_printf("\r\n=================================================\r\n");
os_printf("\t Project:\t%s\r\n", ProjectName);
os_printf("\t SDK version:\t%s", system_get_sdk_version());
os_printf("\r\n=================================================\r\n");
// OLED显示初始化
//------------------------------------------------------------
OLED_Init(); // OL