Warning: Invalid argument supplied for foreach() in /home/techrecipes/public_html/wp-content/themes/techrecipes/header.php on line 77

Get Web Page Contents in Code with C#

When you are developing an application that needs to access data stored on a web server, you can easily get the contents of a web page with this simple C# function.


The .NET framework provides a rich set of methods to access data stored on the web. First you will have to include the right namespaces:
using System.Text;
using System.Net;
using System.IO;

The HttpWebRequest object allows us to create a request to the URL, and the WebResponse allows us to read the response to the request.

We’ll use a StreamReader object to read the response into a string variable.

Here’s the actual code:

HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(URL);
myRequest.Method = "GET";
WebResponse myResponse = myRequest.GetResponse();
StreamReader sr = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8);
string result = sr.ReadToEnd();
sr.Close();
myResponse.Close();

In this code sample, the URL variable should contain the URL that you want to get, and the result variable will contain the contents of the web page. You may want to add some error handling as well for a real application.

The Conversation

Follow the reactions below and share your own thoughts.

  • sagiv

    thank’s a lot!!! it really helped!

    • Aman Kumar

      This code is not working it shows an error:- System can not connect with remote machine

  • luis

    Thanks

  • http://hardbass.awardspace.com/ bas

    thanks,
    just wat i needed

  • Laotuongrobo

    I had do it.. but have a problems : The remote name could not be resolved: ‘http://www.yahoo.com’
    Please help!

  • Anonymous

    Thanks ! a lot sir

  • http://www.facebook.com/codyc1515 Cody Cooper

    thanks so much

  • Anonymous

    Thanks. It’s useful for me :)

  • Qibo Zhang

    I love the code sample! It is simple but very useful!

    How to code if remote server requires usename and password?

    Thanks!

  • Mtouseef Zafar

    nice

  • Hooma

    the webrequest.create work just fine in a console application , but in winodws applications i encounter the error which says :
    The type or namespace name ‘Create’ does not exist in the namespace ‘WebRequest’ (are you missing an assembly reference?)
    can someone help me with that

  • hamed

    hi,
    thanks, but:
    what if you want to extract text content of this URL which don’t contains html tags ?

  • hosein

    hi,
    It was so useful and exactly what I looking for.
    by the way, it’s very optimized code.

    thanks.

  • Kevin

    Worked great. Thanks!

  • andres

    How I can get per separate each of get/post values ???

  • sandy

    Thanks a lot….

  • shweta

    hey thanks a lot ……just not getting how to thank you…
    you solved the problem completely…god bless you..

  • murat

    this codes works fine however when the websites updates its data by a scripts, we cannot catch the data. Is there any solution for it?

    • seb

      I want ger all content of one web page, including HTML and javascript file. how to get??

  • juned

    i am getting error in Create method it shows undefined method Create
    in HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(urlAddress);

    i have flowed all the steps which you have listed here.

    please help me ASAP…..

    thanks in Advance……………….