Mega Code Archive

 
Categories / C# / Network
 

Web Get

/* C# Network Programming  by Richard Blum Publisher: Sybex  ISBN: 0782141765 */ using System; using System.Drawing; using System.IO; using System.Net; using System.Windows.Forms; public class WebGet : Form {    private TextBox uribox;    private ListBox headers;    private ListBox cookies;    private ListBox response;    public WebGet()    {       Text = "WebGet - a web page retriever";       Size = new Size(500, 450);       Label label1 = new Label();       label1.Parent = this;       label1.Text = "URI:";       label1.AutoSize = true;       label1.Location = new Point(10, 23);       uribox = new TextBox();       uribox.Parent = this;       uribox.Size = new Size(200, 2 * Font.Height);       uribox.Location = new Point(35, 20);       Label label2 = new Label();       label2.Parent = this;       label2.Text = "Headers:";       label2.AutoSize = true;       label2.Location = new Point(10, 46);       headers = new ListBox();       headers.Parent = this;       headers.HorizontalScrollbar = true;       headers.Location = new Point(10, 65);       headers.Size = new Size(450, 6 * Font.Height);       Label label3 = new Label();       label3.Parent = this;       label3.Text = "Cookies:";       label3.AutoSize = true;       label3.Location = new Point(10, 70 + 6 * Font.Height);       cookies = new ListBox();       cookies.Parent = this;       cookies.HorizontalScrollbar = true;       cookies.Location = new Point(10, 70 + 7 * Font.Height);       cookies.Size = new Size(450, 6 * Font.Height);       Label label4 = new Label();       label4.Parent = this;       label4.Text = "HTML:";       label4.AutoSize = true;       label4.Location = new Point(10, 70 + 13 * Font.Height);       response = new ListBox();       response.Parent = this;       response.HorizontalScrollbar = true;       response.Location = new Point(10, 70 + 14 * Font.Height);       response.Size = new Size(450, 12 * Font.Height);       Button sendit = new Button();       sendit.Parent = this;       sendit.Text = "GetIt";       sendit.Location = new Point(275, 18);       sendit.Size = new Size(7 * Font.Height, 2 * Font.Height);       sendit.Click += new EventHandler(ButtongetitOnClick);    }    void ButtongetitOnClick(object obj, EventArgs ea)    {       headers.Items.Clear();       cookies.Items.Clear();       response.Items.Clear();       HttpWebRequest hwr = (HttpWebRequest)WebRequest.Create(uribox.Text);       hwr.CookieContainer = new CookieContainer();       HttpWebResponse hwrsp = (HttpWebResponse)hwr.GetResponse();       WebHeaderCollection whc = hwrsp.Headers;       for (int i = 0; i < whc.Count; i++)       {          headers.Items.Add(whc.GetKey(i) + " = " + whc.Get(i));       }       hwrsp.Cookies = hwr.CookieContainer.GetCookies(hwr.RequestUri);       foreach(Cookie cky in hwrsp.Cookies)       {          cookies.Items.Add(cky.Name + " = " + cky.Value);       }       Stream strm = hwrsp.GetResponseStream();       StreamReader sr = new StreamReader(strm);       while (sr.Peek() > -1)       {          response.Items.Add(sr.ReadLine());       }       sr.Close();       strm.Close();    }    public static void Main()    {       Application.Run(new WebGet());    } }