es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Streamreader devuelve null para un campo que tiene un valor.

Estoy utilizando un StreamReader para obtener los valores de una URL. Todo funciona bien para más de 20 campos, pero me he encontrado con un problema en un campo en particular que muestra tener un valor pero devuelve nulo, como se resalta en la siguiente imagen.

Imagen

No es un problema de permisos, ya que todos los demás campos se reciben correctamente (la captura de pantalla anterior muestra solo una versión reducida para mayor facilidad). Además, tanto el navegador web como la aplicación C# se ejecutan como el mismo usuario.

string url = "test.com";
WebRequest myReq = WebRequest.Create(url);
string credentials = "username:pwd";
CredentialCache mycache = new CredentialCache();
myReq.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes(credentials));
myReq.Method = "GET";
myReq.ContentType = "application/json";
WebResponse wr = myReq.GetResponse();
Stream receiveStream = wr.GetResponseStream();
StreamReader reader = new StreamReader(receiveStream, Encoding.UTF8);
string content = reader.ReadToEnd();

Realmente no entiendo la razón por la cual se devuelve como nulo. ¡Espero que alguien pueda orientarme en la dirección correcta!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El problema podría estar en los propios datos en ese campo en particular. Es posible que contenga caracteres inválidos o no esté formateado correctamente, lo que hace que sea leído como nulo por el lector de streams. Otra posibilidad podría ser un problema de codificación, donde la codificación de caracteres de ese campo no está siendo manejada correctamente por el lector de streams. Podría valer la pena intentar aislar ese campo y verificar su formato y codificación para ver si eso resuelve el problema. Además, verificar la respuesta del servidor específicamente para ese campo puede arrojar algo de luz sobre el problema.

Comments are closed.