Pop

Curso básico programación C# - 65. Creando nuestro propio buscador (3) - Visual Studio 2017

65. Nuestro propio buscador  de peliculas (3)

 -  En este capítulo del curso de programación en c# con visual studio 2017 ,  continuaremos con nuestro nuevo proyecto consistente en crear nuestro propio buscador. La idea es utilizar la API que nos proporciona https://www.themoviedb.org , para realizar consultas  y mostrar la información de las busquedas solicitadas en pantalla.

- En este capítulo haremos las primeras peticiones a la API y mostraremos los resultados obtenidos en pantalla según recibamos la petición sin tratar los datos recibidos. En el video vemos las clases creadas para poder realizar las peticiones de una manera fácil.


  •   Según hemos visto en el video nos hemos creado un clase para poder realizar las peticiones a la que hemos llamado Util.cs:

using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Web;

namespace BuscadorWebPeliculas
{
    public class Util
    {


        public string peticionAPI(string pathPeticion, string tipoPeticion, byte[] Datos)
        {
            string Resultado = String.Empty;
            HttpWebRequest WReq = (HttpWebRequest)HttpWebRequest.Create(pathPeticion);
            WReq.ContentType = "application/json; charset=UTF-8";
            if (Datos != null)
            {
            WReq.ContentLength = Datos.Length;
            WReq.GetRequestStream().Write(Datos, 0, Datos.Length);
            }
            WReq.Method = tipoPeticion;
            HttpWebResponse res = (HttpWebResponse)WReq.GetResponse();
            Encoding Codificacion = ASCIIEncoding.UTF8;
            StreamReader SReader = new StreamReader(res.GetResponseStream(), Codificacion);
            Resultado = SReader.ReadToEnd();

            return Resultado;
        }
    }
}

  • Además en página default.aspx.cs hacemo uso de esta clase para poder llamar a la API:
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace BuscadorWebPeliculas
{
    public partial class _Default : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Unnamed2_Click(object sender, ImageClickEventArgs e)
        {
            Util u = new Util();

          
            String rutaPeticion = ConfigurationManager.AppSettings["search"].ToString();
            JsonSerializerSettings ConfigJson = new JsonSerializerSettings();
            ConfigJson.NullValueHandling = NullValueHandling.Ignore;
            rutaPeticion += "?api_key=" + ConfigurationManager.AppSettings["claveApi"].ToString() + "&language=es-ES";
            rutaPeticion += "&query=" + txtBuscador.Text;
            lblResultado.Text= u.peticionAPI(rutaPeticion, "GET", null);
      



        }
    }
}

  • Y en la en aspx de la página default mostramos los resultados:

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="BuscadorWebPeliculas._Default" %>

<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
    <div class="row">
      
            <div style="text-align: center; margin-top:5%">
        
            <asp:Label runat="server" Text="<b>Mis pelis:</b>" Font-Size="Medium"></asp:Label>
            <asp:TextBox ID="txtBuscador" runat="server" Width="30%" placeholder="Busca tus peliculas favoritas:"></asp:TextBox>
            <asp:ImageButton runat="server" ImageUrl="images/magnifier-24270_640.png"  width="21px" height="20px" OnClick="Unnamed2_Click"/>
           <asp:Label runat="server" Text="" ID="lblResultado"></asp:Label>
            </div>
        
    </div>

</asp:Content>

No hay comentarios:

Publicar un comentario

Curso .NET Core en C# - 34.Creamos nuestro propio log

34.Creamos nuestro propio log Hola a todos. En este curso, analizaremos todos los conceptos básicos, intermedios y avanzados de  ASP.NET...