/**
* StreamHTTPClient.ino
*
* Created on: 24.05.2015
*
*/#include<Arduino.h>#include<WiFi.h>#include<WiFiMulti.h>#include<HTTPClient.h>#define USE_SERIAL Serial
WiFiMultiwifiMulti;
voidloop(){// wait for WiFi connection
if((wifiMulti.run()==WL_CONNECTED)){HTTPClienthttp;USE_SERIAL.print("[HTTP] begin...\n");// configure server and url
http.begin("http://192.168.1.12/test.html");//http.begin("192.168.1.12", 80, "/test.html");
USE_SERIAL.print("[HTTP] GET...\n");// start connection and send HTTP header
inthttpCode=http.GET();if(httpCode>0){// HTTP header has been send and Server response header has been handled
USE_SERIAL.printf("[HTTP] GET... code: %d\n",httpCode);// file found at server
if(httpCode==HTTP_CODE_OK){// get length of document (is -1 when Server sends no Content-Length header)
intlen=http.getSize();// create buffer for read
uint8_tbuff[128]={0};// get tcp stream
WiFiClient*stream=http.getStreamPtr();// read all data from server
while(http.connected()&&(len>0||len==-1)){// get available data size
size_tsize=stream->available();if(size){// read up to 128 byte
intc=stream->readBytes(buff,((size>sizeof(buff))?sizeof(buff):size));// write it to Serial
USE_SERIAL.write(buff,c);if(len>0){len-=c;}}delay(1);}USE_SERIAL.println();USE_SERIAL.print("[HTTP] connection closed or file end.\n");}}else{USE_SERIAL.printf("[HTTP] GET... failed, error: %s\n",http.errorToString(httpCode).c_str());}http.end();}delay(10000);}