SOLUCIONADO: obtener id en respuesta de servidor web

Hola, estoy haciendo algunas pruebas con un arduino enviando datos a un servidor remoto, en una de las conexiones, el servidor me devuelve un ID que necesito guardarlo en una variable.

La respuesta se ve así

HTTP/1.1 200 OK
Date: Sat, 29 Nov 2014 14:45:06 GMT
Server: Apache/2.4.6 (Win32) PHP/5.4.17
X-Powered-By: PHP/5.4.17
Content-Length: 5
Connection: close
Content-Type: text/html; charset=UTF-8

id:10

¿Cómo podría obtener ese id?

he realizado algunas pruebas, pero no he conseguido apartar solo esa parte del string.

he pensado que quizás es mejor solo enviar el id sin la palabra, aún así no sé como obtener solo esa parte de la respuesta

el while que devuelve esa cadena es este;

while (client.available()){
   char c = client.read();
   Serial.print(c);
   response += c;
}

la variable response de tipo String, es la que almacena la respuesta.

Hola. Echa un vistazo a la referencia de String. Verás que varias funciones te resultarán útiles:

  • Con posicion=response.indexOf("id:") deberías obtener en qué posición del string se encuentra esa subcadena.
  • con cadenavalor=response.substring(posicion + 3) deberías obtener la parte de la cadena que te interesa. Sumo 3 para descartar precisamente el "id:".

Luego podrías, si quieres, convertir el id a int con cadenavalor.toint().

Si response es de tipo String entonces podes usar la clase String que dispone de elementos de busqueda.

efectivamente solo era cosa de usar indexof y substring

int find = response.indexOf("id:");// busca la palabra id:
find = response.substring(find + 3).toInt(); //devuelve el resultado como entero

saludos y gracias.

o este

string.compareTo("id")

pero compareTo(); no devuelve un index, por lo cual se complica más para usar substring().

debéis tener mucha memoria libre para trabajar con String ;) ;) ;)

tienes razón

ElEspanol: debéis tener mucha memoria libre para trabajar con String ;) ;) ;)

muchísima ;) ;) ;)