极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 21541|回复: 6

如何用ESP8266获取网站的返回值?

[复制链接]
发表于 2015-3-9 09:18:03 | 显示全部楼层 |阅读模式

前面已经说到如何使用8266连接UNO以及发送POST数据

问题得到了解决..已经可以发送post命令..

现在又来一个问题...发送命令之后如何得到网站的返回值??

现在是这样的
  1. SoftwareSerial  wifi(10, 11);
复制代码





  1. void sendData(char* thisData)
  2. {

  3.         if(start_Mux(1,server,80))
  4.         {
  5.                 String cmd;      
  6.                 cmd = "POST /";

  7.                 cmd+=VERSION;
  8.                 cmd+="/uploaddata/";
  9.                 cmd+=DEVICEID;
  10.                 cmd+="  HTTP/1.0\r\n";

  11.                 cmd += "Host: ";
  12.                 cmd+=server;
  13.                 cmd += "\r\n";

  14.                 cmd += "U-ApiKey:";
  15.                 cmd += APIKEY;
  16.                 cmd += "\r\n";

  17.                 cmd += "Accept: *";
  18.                 cmd += "/";
  19.                 cmd += "*\r\n";

  20.                 cmd += "Content-Length: ";
  21.                 size_t len = strlen(thisData);
  22.                 cmd += String(len);
  23.                 cmd += "\r\n";
  24.                 cmd += "Content-Type: application/x-www-form-urlencoded\r\n";
  25.                 cmd += "\r\n";
  26.                 cmd += String(thisData);
  27.                 cmd += "\r\n";

  28.                 wifi.print("AT+CIPSEND=");
  29.                 wifi.println(cmd.length());
  30.                 delay(999);
  31.                 wifi.print(cmd);

  32.         }
  33.         else
  34.         {
  35.                 Serial.println("connection failed");
  36.         }


  37. }
复制代码


其中


  1. wifi.print("AT+CIPSEND=");
  2. wifi.println(cmd.length());
  3. delay(999);
  4. wifi.print(cmd);
复制代码

是使用AT发送POST命令..但是现在的available是什么send ok之类的东西..

如果这个post(或者get)有返回值 比如请求百度 返回源码 或者请求一api 返回json 我如何获取??

因为目前我这个是采用yeelink模式循环发送http来实现控制的..所以如果我获取不了api的返回值我实现不了...
回复

使用道具 举报

发表于 2015-3-9 10:17:51 | 显示全部楼层
这个不是UNO+ESP的问题,原来W5100和ENC82J60有类似的应用,可以到坛子里转转,是否能找到参考.
回复 支持 反对

使用道具 举报

发表于 2015-3-9 10:23:41 | 显示全部楼层
你的这段UNO+ESP获得Yeelink POST的成功,是否是用"软串"对接?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-9 11:11:19 | 显示全部楼层
林定祥 发表于 2015-3-9 10:23
你的这段UNO+ESP获得Yeelink POST的成功,是否是用"软串"对接?

W5100得到网站返回值 这个很多网站都有例子使用类库Ethernet.h就可以得到很简单的..

但是基于8266这个是串口而且发送POST是基于AT命令的..所以我还没测试出来如何得到返回值..

另外你说的
你的这段UNO+ESP获得Yeelink POST的成功,是否是用"软串"对接?


我是使用SoftwareSerial.h类库搞定的 具体是什么东西 我也不太清楚.代码就在上面了.

而且我只是上传成功..还没有控制成功 因为控制是需要返回值的..
回复 支持 反对

使用道具 举报

发表于 2015-3-9 11:38:26 | 显示全部楼层
diaodiaop 发表于 2015-3-9 11:11
W5100得到网站返回值 这个很多网站都有例子使用类库Ethernet.h就可以得到很简单的..

但是基于8266这个 ...

"软串"例子在坛子也是有的,但是前面的网卡参数设置貌似需要其它软件协同吧,如ID号设置,密码设置等.
回复 支持 反对

使用道具 举报

发表于 2015-6-4 16:25:22 | 显示全部楼层
请问楼主现在能获取的返回值了吗?
回复 支持 反对

使用道具 举报

发表于 2015-10-21 14:06:24 | 显示全部楼层
Hello,UNO+8266+LeWei,这个怎么实现数据上传和反向控制呢?我看你说已经成功实现发送数据到各个平台。能把代码分享一下吗?
谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-8 02:07 , Processed in 0.039686 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表