ExternalIP Fuction esp arduino

                Never    
C#
       
String GetExternalIP()
{
  WiFiClient client;
  if (!client.connect("api.ipify.org", 80)) {
    Serial.println("Failed to connect with 'api.ipify.org' !");
  }
  else {
    int timeout = millis() + 5000;
    client.print("GET /?format=text HTTP/1.1\r\nHost: api.ipify.org\r\n\r\n");
    while (client.available() == 0) {
      if (timeout - millis() < 0) {
        Serial.println(">>> Client Timeout !");
        client.stop();
        return "";
      }
    }
    int size;
    while ((size = client.available()) > 0) {
      uint8_t* msg = (uint8_t*)malloc(size);
      size = client.read(msg, size);
    Serial.println(size);  
      String ExternalIP;
      ExternalIP = "";//(msg, size);
    Serial.write((byte*)msg,(int)size);//External ip prints
      free(msg);
      return ExternalIP;
    }
  }
}

Raw Text