lecture Home > ASP.NET > Tip

ASP.NET ÆÁ

   °­Á ÃÖÃÊ ÀÛ¼ºÀÏ : 2006³â 02¿ù 15ÀÏ
   °­Á ÃÖÁ¾ ¼öÁ¤ÀÏ : 2006³â 03¿ù 02ÀÏ

   °­Á ÀÐÀ½ ¼ö : ȸ

   ÀÛ¼ºÀÚ : Áö¹Î±º(±è Áö¹Î)
   ÆíÁýÀÚ : Taeyo(±è Å¿µ)

   °­Á Á¦¸ñ : WebClient¸¦ ÀÌ¿ëÇÏ¿© À¥ ÆäÀÌÁö ½ÇÇàÇϱâ

°­ÁÂ Àü ÇÊÀÚÀÇ Àâ´ã>

ASP.NETÀ» Á¢ÇÑ Áö´Â ¾ó¸¶ µÇÁö ¾ÊÁö¸¸ Àç¹ÌÀÖ´Â °É ¾Ë¾Æ ³Â´Ù´Â ±â»Ý¿¡ ÆÁÀ» ½á ºÃ½À´Ï´Ù. ¼Ò½ºµµ ¸î ÁÙ ¾ÈµÇ°í ½É¿ÀÇÑ ³­À̵µÀÇ ¹º°¡°¡ µé¾î ÀÖ´Â °ÍÀº ¾Æ´ÏÁö¸¸, Ȱ¿ëÇØ º¼ ¼ö ÀÖ´Â ¿©Áö¿Í ´å³ÝÀÇ È°¿ëµµ Ãø¸é¿¡¼­ ÀÛÀº µµ¿òÀ̳ª Àç¹Ì¸¦ µå·ÈÀ¸¸é ÇÏ´Â ¹Ù·¥ÀÔ´Ï´Ù.


óÀ½ ÀÌ ¹æ¹ýÀ» ã°í °í·ÁÇÏ°Ô µÈ ÀÌÀ¯´Â ÀúÈñ ȸ»çÀÇ º»»çÀÎ ¿µ±¹ E-Commerce ÆÀ ¶§¹®ÀÔ´Ï´Ù. ƯÁ¤ Å×À̺íÀÇ ÇÑ ÇʵåÀÇ µ¥ÀÌÅ͸¸ÀÌ ÇÊ¿äÇØ¼­ ÃÖ¼ÒÇÑÀÇ ±ÇÇÑÀÌ ºÎ¿©µÈ µ¥ÀÌÅͺ£À̽º »ç¿ëÀÚ °èÁ¤À» ¿äûÇߴµ¥.. ¸î ¹øÂ° ¸ÞÀÏÀ» ²Ü²©! ÇØ¹ö¸®´Â °Ì´Ï´Ù. ¾àÀÌ ¿À¸¥ ³ª¸ÓÁö ÀúÈñ ȸ»ç´Â °³¹ßÀü¹® ȸ»ç°¡ ¾Æ´ÑÁö¶ó Á¦°¡ ÇÏ´Â ÀÏÀÇ °á°ú¶ó¸é ¸ô¶óµµ °úÁ¤Àº Àú À̿ܿ¡ ´©±¸µµ ¸ð¸¥´Ù´Â ÀåÁ¡(?)À» ÀÌ¿ëÇØ¼­ 6½Ã°£À̳ª ÅõÀÚÇØ¼­ °á±¹ ¾Æ·¡ÀÇ ¹æ¹ýÀ» ¾Ë¾Æ³»°Ô µÇ¾úÁÒ. Á¦°¡ ¿øÇÏ´Â ÇʵåÀÇ µ¥ÀÌÅÍ´Â º»»çÀÇ Æ¯Á¤ ÆäÀÌÁö¿¡ ÀúÈñµµ º¸À¯Çϰí ÀÖ´Â ÁÖ(Primary) ۸¦ ¿¬°á ¹®ÀÚ¿­·Î ³Ñ±â¸é À¥ ÆäÀÌÁö·Î »Ñ·ÁÁý´Ï´Ù. °á±¹ Á¦°¡ ÇÑ ÀÏÀº ¾Æ·¡ÀÇ ±×¸²°ú °°½À´Ï´Ù.

±×¸²1. º»»ç°¡ Á¦°øÇÏ´Â ÆäÀÌÁö.

±×¸²2. ¿øÇÏ´Â µ¥ÀÌÅ͸¦ ÃßÃâÇØ ³½ °á°ú.

aspx ÆäÀÌÁöÀÇ ¼Ò½º¸¦ ±âº» ¼Ò½ºÀÔ´Ï´Ù. Áß¿äÇÑ °ÍÀº ÄÚµå ºñÇÏÀεå~ °°ÀÌ º¸½Ç±î¿ä?

:: cs ÆÄÀÏ ¼Ò½º ½ÃÀÛ ::

using System;
using System.IO;
using System.Net;

public class lecture1 : System.Web.UI.Page
{
    protected System.Web.UI.WebControls.Literal List;
    private void Page_Load(object sender, System.EventArgs e)
    {
        WebClient client = new WebClient();
        client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
        // Ŭ¶óÀÌ¾ðÆ® °´Ã¼°¡ ¿äûÇì´õ·Î º¸³¾ ºÎºÐÀ» ¼³Á¤ÇØ ÁÝ´Ï´Ù. msdnÀÇ ¿¹Á¦¸¦ ±×´ë·Î º¹»çÇßÁÒ
        // ¿ëµµ¿¡ µû¶ó ÇÊ¿äÇÏ´Ù¸é ºê¶ó¿ìÀú À̸§, ¹öÀü, ȯ°æ µîÀ» ÀÚÀ¯·ÎÀÌ Á¤ÇØÁÖ¼¼¿ä.
        Stream data = client.OpenRead("http://sg.farnell.com/jsp/endecaSearch/partDetail.jsp?SKU=100006&N=0");
        // ÀÎÀÚ·Î ³Ñ±ä URI¿¡ Ŭ¶óÀÌ¾ðÆ® °´Ã¼°¡ ¿äûÀ» ³¯·Á¼­ ÀÀ´äÀ» ¹Þ½À´Ï´Ù.
        // Á¦°¡ ¿øÇß´ø ¹Ù·Î ±×°ÅÁÒ!
        // SKU=100006ÀÇ ºÎºÐÀÇ SKU°¡ ºÎǰÀÇ ½Äº°Äڵ带 ÀǹÌÇÏ´Â ºÎºÐÀ̾,
        // Àú´Â ÀÌ ºÎºÐ¸¸ ÀÚÀ¯ÀÚÀç·Î ¹Ù²ã¼­ Ȱ¿ëÇÕ´Ï´Ù.
        // ¿©·¯ºÐÀº ¿øÇÏ´Â ÆäÀÌÁöÀÇ ¿¬°á¹®ÀÚ¿­À̵ç, Æ÷½ºÆ® °ªÀÌµç ¾Ë±â¸¸ ÇϽŴٸé
        // (º¸Åë ¼Ò½ººÐ¼® µé¾î°¡¸é 80%ÀÌ»ó ³ª¿É´Ï´Ù.) ¾ó¸¶µçÁö Ȱ¿ëÇØ º¸½Ç ¼ö ÀÖ½À´Ï´Ù.
        // Ȱ¿ëÇØ º¸½Ç ¼ö ÀÖ½À´Ï´Ù. ÇÑ ¹ø ÇØº¸½Ã°í ¿©·¯ºÐÀÌ ¿øÇÏ´Â ÆäÀÌÁö¸¦ ´ë»óÀ¸·Î ÀÚÀ¯·ÎÀÌ
        // Å×½ºÆ®°¡ °¡´ÉÇϰڽÀ´Ï´Ù. (Àú´Â ÇöÀç ³¯Â¥¿¡ ¸Â´Â TVÆí¼ºÇ¥, Àϱ⿹º¸ µîÀ» ¿øÅ¬¸¯À¸·Î
        // º¼ ¼ö ÀÖ°Ô ÁغñÇØ¼­ ¼Õ½±°Ô Ȱ¿ëÇϰï ÇÕ´Ï´Ù. ^^;)

        StreamReader reader = new StreamReader(data);
        // ½ºÆ®¸²À¸·Î ÀоîÁÝ´Ï´Ù.
        string s = reader.ReadToEnd();
        // È­²öÇÏ°Ô ³¡±îÁö.. ÀнÀ´Ï´Ù;
        int startPoint = s.IndexOf("Description");
        // Á¦°¡ ¿øÇÏ´Â µ¥ÀÌÅÍ´Â Description Ç׸ñ¿¡ À̾îÁö´Â ½ºÆ®¸µ µ¥ÀÌÅÍÀ̱⠶§¹®¿¡
        // ÀÌ ³à¼®ÀÇ À§Ä¡¸¦ ã½À´Ï´Ù. ÀÀ¿ë ½Ã ¿øÇϴ Ű¿öµå·Î~
        startPoint = s.IndexOf("<b>", startPoint) + 3;
        // ÅÂ±× ¾ÈÀÇ ¼ø¼ö ¹®ÀÚ¿­¸¸ ¾ò±â À§ÇØ ¿©´Â º¼µå ű×ÀÇ ³¡Á¡À» ¶Ç ã¾Ò½À´Ï´Ù.
        int endPoint = s.IndexOf("</b>", startPoint);
        // ÅÂ±× ¾ÈÀÇ ¹®ÀÚ¿­¸¸ ¾òÀ¸·Á ÇϹǷΠ´Ý´Â º¼µå ű×ÀÇ ½ÃÀÛÁ¡À» ã¾Ò½À´Ï´Ù.
        if (s.Length > 1 && (endPoint - startPoint) > 0)
            s = s.Substring(startPoint, endPoint - startPoint);
        List.Text += s;
        data.Close();
        reader.Close();
    }
}

À§¿Í °°ÀÌ ÆäÀÌÁö ±¸¼ºÀ» ÇÑ °ÍÀº Á¦°¡ ÀÌ ¹æ¹ý¹Û¿¡ ¸ð¸£±â ¶§¹®ÀÔ´Ï´Ù. °æÇèÀÌ ¸¹À¸½Å ºÐµéÀº °¡º±°Ô ÈÈ¾î º¸½Ã¸é¼­ ³ª¸§ÀÇ ±¸¼º¹ýÀ» ¶°¿Ã¸®½Ã¸®¶ó ¹Ï½À´Ï´Ù.

Àü óÀ½¿¡ ASP¿¡¼­ Á¦°øµÇ´Â Server.Execute·Î ÇØº¸·Á´Ù°¡ 3ÃÊ ¸¸¿¡ ÁÂÀýÇßÁÒ. "¾ÆÂ÷.. ÀÌ ³à¼®Àº ÆäÀÌÁö°¡ ½ÇÇàµÇ´Â ¼­¹öÀÇ ÆÄÀϸ¸ °¡´ÉÇßÁö.." ÁÖ¸¤.. ±×·¯³ª ¿­Á¤Àº Àú¸¦ µµ¿Ô½À´Ï´Ù.

msdn¿¡¼­ .NETÀÇ WebRequest, HttpWebRequest µîÀÇ Å¬·¡½º·Î ½ÃµµÇغ¸´Ù°¡(»ç½Ç º¸Åë ÆäÀÌÁö¿¡ À§¿Í °°Àº ±â´ÉÀ» ¼öÇàÇÏ·Á¸é ¾ÕÀÇ µÎ Ŭ·¡½ºµµ °¡´ÉÇÕ´Ï´Ù. ±×·±µ¥ ÀúÈñ º»»çÆäÀÌÁö´Â µÎ Ŭ·¡½º·Î ½ÃµµÇßÀ» ¶§´Â ÀÀ´äÀ» ¾ÈÇÏ´õ±º¿ä. ³ªÁß¿¡¼­¾ß Çì´õ¹®Á¦Àϱî ÃßÃøÇßÁö¸¸¿ä.) °á±¹ ±×·¡µµ WebClient¸¦ ¹ß°ßÇÏ°í ¿øÇÏ´Â ¹Ù¸¦ ÀÌ·ð½À´Ï´Ù.

Ȱ¿ëÇϱ⿡ µû¶ó¼­ ¿µ¾î»çÀü DB¸¦ ±¸Çؼ­ ´Ü¾î¸¦ ¼ø¼ö, ȤÀº ÀûÀýÈ÷ Á¶ÇÕÇØ °¡¸ç ÀÚµ¿À¸·Î ÆäÀÌÁö ¿äûÀ» Çϰí ű×ÀÇ href ¼Ó¼ºÀ» ã¾Æ³»¼­ URI¸¦ ¼öÁýÇÏ´Â ³à¼®µµ ¼Õ½±°Ô ¸¸µé ¼ö ÀÖÀ» °Í °°½À´Ï´Ù. ±¸±Û°Ë»ö·Îº¿ °°Àº °Å ¸»ÀÌÁÒ. ¹°·Ð °Ë»ö°á°úÀÇ Ä÷¸®Æ¼´Â óÀ½¿£ ¾û¸ÁÀ̰ÚÁö¸¸¿ä.. ÇÏÇÏ;

¹°·Ð À§¿Í °°Àº ±â´ÉÀ» ±¸ÇöÇÏ´Â ¹æ¹ýÀº ¼ö½Ê °¡Áö°¡ Á¸ÀçÇϰÚÁö¸¸, Á¦ ¹æ¹ýµµ ÀÖ´Ù´Â °ÍÀ» ÆÁÀ¸·Î Á¦°øÇصå·È½À´Ï´Ù. ºÎµð µµ¿òÀÌ µÇ¾î µå·È±æ ¹Ù¶ø´Ï´Ù. ³¡±îÁö ÀоîÁּż­ ³Ê¹« °¨»çÇÕ´Ï´Ù^^;



°­Á ¸ñ·ÏÀ¸·Î..