Statistics: Posted by ESP_Faye — Mon Jan 11, 2016 3:41 pm
Code:
[HTTP] begin for floriandrevet.synology.me...
[HTTP] GET... code: 200 (try=0)
{"Description":"nHome Domotic Rest Api","Version":"1.0.0.0"}{"Description":"nHome Domotic Rest Api","Version":"1.0.0.0"}
[HTTP] begin for floriandrevet.synology.me...
[HTTP] GET... failed, error: -2
[HTTP] GET... failed, error: -2
[HTTP] GET... failed, error: -2
[HTTP] begin for floriandrevet.synology.me...
[HTTP] GET... failed, error: -2
[HTTP] GET... code: 200 (try=1)
{"Description":"nHome Domotic Rest Api","Version":"1.0.0.0"}{"Description":"nHome Domotic Rest Api","Version":"1.0.0.0"}
[HTTP] begin for floriandrevet.synology.me...
[HTTP] GET... code: 200 (try=0)
Code:
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>
#include <ESP8266HTTPClient.h>
#define USE_SERIAL Serial
ESP8266WiFiMulti WiFiMulti;
HTTPClient http;
void setup() {
USE_SERIAL.begin(115200);
delay(10);
WiFiMulti.addAP("*****", "*****");
void loop() {
// wait for WiFi connection
if((WiFiMulti.run() == WL_CONNECTED))
{
doRequest("myserver", 80, "/api/get/description");
}
delay(5000);
}
void doRequest(String server, const int port, String url)
{
USE_SERIAL.print("[HTTP] begin for " + server + "...\n");
bool resultOk = false;
int maxTries = 3;
int currentTries = 0;
// configure traged server and url
http.begin(server, port, url); //HTTP
while(!resultOk && currentTries < maxTries)
{
// start connection and send HTTP header
int httpCode = http.GET();
if(httpCode > 0)
{
// HTTP header has been send and Server response header has been handled
USE_SERIAL.printf("[HTTP] GET... code: %d (try=%d)\n", httpCode, currentTries);
// file found at server
if(httpCode == 200)
{
String payload = http.getString();
USE_SERIAL.println(payload);
resultOk = true;
}
}
else
{
USE_SERIAL.printf("[HTTP] GET... failed, error: %d\n", httpCode);
}
if (!resultOk)
{
delay(500);
currentTries++;
}
}
http.end();
}
Statistics: Posted by pimoosse — Thu Jan 07, 2016 8:24 am