Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chris Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

C# copy paste and error trapping modifications to existing code

Status
Not open for further replies.

pdeman

Programmer
Feb 17, 2010
39
GB
Hello

I have the following C# code which I compile to a windows exe. However there are 2 problems I need to resolve:

1) It contains 3 list boxes which require modifying to allow you to copy and paste the contents.
2) The first box where you enter the URL needs modifying to trap errors from entering a bad URL rather than the built in debugging window appearing.

Can anyone help me by modifying the code?

Thank you and best regards

****************************CODE START***************************
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());
}
}
****************************CODE END****************************

 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top