private WebRequest _request;
protected void Page_Load(object sender, EventArgs e)
{
AddOnPreRenderCompleteAsync(new BeginEventHandler(BeginAsyncOperation),new EndEventHandler(EndAsyncOperation));
this.lblUrl.Text = this.txtUrl.Text;
}
IAsyncResult BeginAsyncOperation(object sender,EventArgs e,AsyncCallback cb,object state)
{
_request = WebRequest.Create(this.txtUrl.Text.Trim());
return _request.BeginGetResponse(cb, state);
}
void EndAsyncOperation(IAsyncResult ar)
{
string text;
using (WebResponse response = _request.EndGetResponse(ar))
{
using(StreamReader reader = new StreamReader(response.GetResponseStream()))
{
text = reader.ReadToEnd();
}
}
Regex regex = new Regex("href\\s*=\\s*\"([^\"]*)\"",RegexOptions.IgnoreCase);
MatchCollection matches = regex.Matches(text);
System.Text.StringBuilder builder = new System.Text.StringBuilder(1024);
foreach(Match match in matches)
{
builder.Append(match.Groups[1]);
builder.Append("<br>");
}
Output.Text = builder.ToString();
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
AddOnPreRenderCompleteAsync(new BeginEventHandler(BeginAsyncOperation), new EndEventHandler(EndAsyncOperation));
}
}