WebElektronika

HttpRequest használata

person access_time 2015.04.02.
Készítünk most egy kisebb ASP.NET-es projektet, ahol a HttpRequest-et tekintjük át. Ennek segítségével a honlapunkat böngésző látogatóról (és a saját projektünkről) tudhatunk meg néhány érdekes adatot, és készítünk egy cookie-t (süti) is.


Indítsuk el a VS2012-t és hozzunk létre egy üres projektet. Ezután adjunk hozzá ehhez a projekthez egy oldalt (Default.aspx).

Tegyünk fel erre az oldalra három "Label"-t.

<body>
    <form id="form1" runat="server">
    <div>
    <p>
        <asp:Label ID="label1" runat="server" />
    </p>
    <p>
        <asp:Label ID="label2" runat="server" />
    </p>
    <p>
        <asp:Label ID="label3" runat="server" />
    </p>
    </div>
    </form>
</body>

 

A Page_Load() eseményt egészítsük ki a következő megoldás szerint :

 protected void Page_Load(object sender, EventArgs e)
    {
        label1.Text = "RequestType : " + Request.RequestType + "<br>"
            + "UserHostAddress : " + Request.UserHostAddress + "<br>"
            + "UserHostName : " + System.Net.Dns.GetHostEntry(Request.UserHostAddress).HostName + "<br>"
            + "UserAgent : " + Request.UserAgent + "<br>"
            + "AnonymousID : " + Request.AnonymousID + "<br>"
            + "Browser : " + Request.Browser.Browser + "<br><br>"
            + "PhysicalPath : " + Request.PhysicalPath + "<br>"
            + "PhysicalApplicationPath : " + Request.PhysicalApplicationPath + "<br>"
            + "Path : " + Request.Path + "<br>"
            + "ApplicationPath : " + Request.ApplicationPath + "<br><br>"
            + "HttpMethod : " + Request.HttpMethod + "<br>"
            + "RequestContext : " + Request.RequestContext.ToString() + "<br>"
            + "ContentEncoding : " + Request.ContentEncoding + "<br>"
            + "IsSecureConnection : " + Request.IsSecureConnection + "<br>";
        
        label2.Text = System.Web.HttpContext.Current.Request.ServerVariables["SERVER_NAME"] +"<br>"+
            HttpContext.Current.Request.Url;

        DateTime Most = DateTime.Now;
        HttpCookie suti = new HttpCookie("suti");
        suti.Values.Add("valamiertek", "webelektronika");
        suti.Expires = Most.AddSeconds(5);
        Response.Cookies.Add(suti);

        label3.Text = "Cookie : " + suti.Name + "<br>" +
                "Secure : " + suti.Secure + "<br>";
    }

 

A Label1-be írjuk be a kérésünk típusát, illetve azt, hogy honnan érkezett a kérés (IP cím, gépnév). De szintén itt jelenítjük meg akár a böngészőnk nevét, vagy akár a fizikai elérési útvonalat is.

A Page_Load() végén találunk egy mintát arra, hogy hogyan hozható létre egy cooki. Először lekérjük a rendszeridőt ("Most"), majd létrehozunk a HttpCooki osztályból egy "suti" nevű példányt. Ezután ezt ellátjuk egy névvel, illetve egy értékkel ("webelektronika"). 
Ezt követően meg kell adnunk, hogy a "suti" nevű sütink mennyi ideig "éljen". A példánkban ez 5 másodperc volt. A Label3 vezérlő segítségével ennek a sütinek a néhány tulajdonságát írjuk ki.

Ha futtatjuk ezután az alaklmazásunkat debug módban, akkor a kövekező eredményt kapjuk (1. ábra)

kep
1. ábra   A futási eredmény a böngészőben (kattints a képre)