diaodiaop 发表于 2015-3-9 09:18:03

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


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

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

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

现在是这样的
SoftwareSerialwifi(10, 11);





void sendData(char* thisData)
{

        if(start_Mux(1,server,80))
        {
                String cmd;      
                cmd = "POST /";

                cmd+=VERSION;
                cmd+="/uploaddata/";
                cmd+=DEVICEID;
                cmd+="HTTP/1.0\r\n";

                cmd += "Host: ";
                cmd+=server;
                cmd += "\r\n";

                cmd += "U-ApiKey:";
                cmd += APIKEY;
                cmd += "\r\n";

                cmd += "Accept: *";
                cmd += "/";
                cmd += "*\r\n";

                cmd += "Content-Length: ";
                size_t len = strlen(thisData);
                cmd += String(len);
                cmd += "\r\n";
                cmd += "Content-Type: application/x-www-form-urlencoded\r\n";
                cmd += "\r\n";
                cmd += String(thisData);
                cmd += "\r\n";

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

        }
        else
        {
                Serial.println("connection failed");
        }


}

其中


wifi.print("AT+CIPSEND=");
wifi.println(cmd.length());
delay(999);
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的成功,是否是用"软串"对接?

diaodiaop 发表于 2015-3-9 11:11:19

林定祥 发表于 2015-3-9 10:23 static/image/common/back.gif
你的这段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 static/image/common/back.gif
W5100得到网站返回值 这个很多网站都有例子使用类库Ethernet.h就可以得到很简单的..

但是基于8266这个 ...

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

fupf 发表于 2015-6-4 16:25:22

请问楼主现在能获取的返回值了吗?

ghostkk4379 发表于 2015-10-21 14:06:24

Hello,UNO+8266+LeWei,这个怎么实现数据上传和反向控制呢?我看你说已经成功实现发送数据到各个平台。能把代码分享一下吗?
谢谢
页: [1]
查看完整版本: 如何用ESP8266获取网站的返回值?