none
Problema al consumir un api web de localbitcoins c# forms RRS feed

  • Pregunta

    • hola  que tal es que estoy tratando de consumir  las api web de localbitcoins para crear un aplicativo tengo estas lineas de codigo pero me muestra un error  
                                            

     private void button1_Click(object sender, EventArgs e)
            { 

    HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://localbitcoins.com/api/account_info/branlanda");
                request.Method = "Get";
                request.KeepAlive = true;
                request.Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
                request.UseDefaultCredentials = true;
                request.Credentials = new NetworkCredential("username", "password", "domain");
                request.ContentType = "application/json";


                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                foreach (Cookie cookieValue in response.Cookies)
                {
                    Console.Write("Cookie " + cookieValue.ToString());


                }


                string myResponse = "";
                using (System.IO.StreamReader sr = new System.IO.StreamReader(response.GetResponseStream()))
                {
                    myResponse = sr.ReadToEnd();
                }
                dataGridView1.DataSource = response;
            }



    quiza puedan ayudarme a descifrar el error ya que no encuentro la manera....}

    gracias

    miércoles, 27 de diciembre de 2017 22:05

Respuestas

  • hola

    Si utilizas alguna tool como set PostMan podrias validar si puedes invocar el servicio de forma correcta

    porque quizas el problema no sea el codigo sino que el servicio no responde

    ----

    ademas deberias evaluar utilizar la clase HttpClient como menciono aqui

    Uso de token enviando Json mediante Post


    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 28 de diciembre de 2017 16:36
  • Hola CONSULTAS CODIGO

    Te recomiendo implementar el siguiente código que puede serte útil. Consiste en como puedes consumir un api correctamente.

    var postString = new {clave1:valor1, clave2:valor2};

    byte[] data = UTF8Encoding.UTF8.GetBytes(postString);

     

    HttpWebRequest request;

    request = WebRequest.Create("http://localhost/ejemplo/api") as HttpWebRequest;

    request.Timeout = 10 * 1000;

    request.Method = "POST";

    request.ContentLength = data.Length;

    request.ContentType = "application/json; charset=utf-8";

    string credentials = Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes("usuario:clave"));

    request.Headers.Add("Authorization", "Basic " + credentials);

    Stream postStream = request.GetRequestStream();

    postStream.Write(data, 0, data.Length);

     

    HttpWebResponse response = request.GetResponse() as HttpWebResponse;

    StreamReader reader = new StreamReader(response.GetResponseStream());

    string body = reader.ReadToEnd();

    Quedamos al pendiente de cualquier actualización o comentario de tu parte.

    Saludos Cordiales y feliz año nuevo.

    Gracias por usar los foros de MSDN.

    Pablo Rubio
     _____

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    • Marcado como respuesta CONSULTAS CODIGO viernes, 29 de diciembre de 2017 17:10
    jueves, 28 de diciembre de 2017 16:14
    Moderador
  • Hola CONSULTAS CODIGO

    Te recomiendo implementar el siguiente código que puede serte útil. Consiste en como puedes consumir un api correctamente.

    var postString = new {clave1:valor1, clave2:valor2};

    byte[] data = UTF8Encoding.UTF8.GetBytes(postString);

     

    HttpWebRequest request;

    request = WebRequest.Create("http://localhost/ejemplo/api") as HttpWebRequest;

    request.Timeout = 10 * 1000;

    request.Method = "POST";

    request.ContentLength = data.Length;

    request.ContentType = "application/json; charset=utf-8";

    string credentials = Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes("usuario:clave"));

    request.Headers.Add("Authorization", "Basic " + credentials);

    Stream postStream = request.GetRequestStream();

    postStream.Write(data, 0, data.Length);

     

    HttpWebResponse response = request.GetResponse() as HttpWebResponse;

    StreamReader reader = new StreamReader(response.GetResponseStream());

    string body = reader.ReadToEnd();

    Quedamos al pendiente de cualquier actualización o comentario de tu parte.

    Saludos Cordiales y feliz año nuevo.

    Gracias por usar los foros de MSDN.

    Pablo Rubio
     _____

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    Gracias :D lo estudiare..
    viernes, 29 de diciembre de 2017 17:09

Todas las respuestas

  • miércoles, 27 de diciembre de 2017 22:10
  • Hola CONSULTAS CODIGO

    Te recomiendo implementar el siguiente código que puede serte útil. Consiste en como puedes consumir un api correctamente.

    var postString = new {clave1:valor1, clave2:valor2};

    byte[] data = UTF8Encoding.UTF8.GetBytes(postString);

     

    HttpWebRequest request;

    request = WebRequest.Create("http://localhost/ejemplo/api") as HttpWebRequest;

    request.Timeout = 10 * 1000;

    request.Method = "POST";

    request.ContentLength = data.Length;

    request.ContentType = "application/json; charset=utf-8";

    string credentials = Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes("usuario:clave"));

    request.Headers.Add("Authorization", "Basic " + credentials);

    Stream postStream = request.GetRequestStream();

    postStream.Write(data, 0, data.Length);

     

    HttpWebResponse response = request.GetResponse() as HttpWebResponse;

    StreamReader reader = new StreamReader(response.GetResponseStream());

    string body = reader.ReadToEnd();

    Quedamos al pendiente de cualquier actualización o comentario de tu parte.

    Saludos Cordiales y feliz año nuevo.

    Gracias por usar los foros de MSDN.

    Pablo Rubio
     _____

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    • Marcado como respuesta CONSULTAS CODIGO viernes, 29 de diciembre de 2017 17:10
    jueves, 28 de diciembre de 2017 16:14
    Moderador
  • hola

    Si utilizas alguna tool como set PostMan podrias validar si puedes invocar el servicio de forma correcta

    porque quizas el problema no sea el codigo sino que el servicio no responde

    ----

    ademas deberias evaluar utilizar la clase HttpClient como menciono aqui

    Uso de token enviando Json mediante Post


    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 28 de diciembre de 2017 16:36
  • Hola CONSULTAS CODIGO

    Te recomiendo implementar el siguiente código que puede serte útil. Consiste en como puedes consumir un api correctamente.

    var postString = new {clave1:valor1, clave2:valor2};

    byte[] data = UTF8Encoding.UTF8.GetBytes(postString);

     

    HttpWebRequest request;

    request = WebRequest.Create("http://localhost/ejemplo/api") as HttpWebRequest;

    request.Timeout = 10 * 1000;

    request.Method = "POST";

    request.ContentLength = data.Length;

    request.ContentType = "application/json; charset=utf-8";

    string credentials = Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes("usuario:clave"));

    request.Headers.Add("Authorization", "Basic " + credentials);

    Stream postStream = request.GetRequestStream();

    postStream.Write(data, 0, data.Length);

     

    HttpWebResponse response = request.GetResponse() as HttpWebResponse;

    StreamReader reader = new StreamReader(response.GetResponseStream());

    string body = reader.ReadToEnd();

    Quedamos al pendiente de cualquier actualización o comentario de tu parte.

    Saludos Cordiales y feliz año nuevo.

    Gracias por usar los foros de MSDN.

    Pablo Rubio
     _____

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    Gracias :D lo estudiare..
    viernes, 29 de diciembre de 2017 17:09