• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 640
  • Last Modified:

ASP.NET equivalent to ASPHTTP component.

Following is a a example ASP script that uses the ASPHttp component (basically you give it a URL and it returns the response string).

Set HttpObj = Server.CreateObject("AspHTTP.Conn")
HTTPObj.TimeOut = 10
theurl = "somevalidURL"
httpobj.url = theurl
strResult = HttpObj.GetURL

I need this exact function but in ASP.NET. I don't want to wrap the ASPHttp component or anything, I just want to use whatever in built funtions .NET has.
  • 3
  • 2
1 Solution
Sounds like you may be looking for the System.Net.HttpWebRequest class.  Details at http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemnethttpwebrequestclasstopic.asp
jmylreaAuthor Commented:
Yeh I realise it may have something to do with that class. But I can't work out the exact syntax?
jmylreaAuthor Commented:
This is the solution I was after. Thanks mate you tweaked my search enough to find it.

Dim strURL As String = "http://someURL/default.htm"
Dim objWebRequest As System.Net.HttpWebRequest
Dim objWebResponse As System.Net.HttpWebResponse
Dim streamReader As System.IO.StreamReader
Dim strHTML As String

objWebRequest = CType(System.Net.WebRequest.Create(strURL), System.Net.HttpWebRequest)
objWebRequest.Method = "GET"
objWebResponse = CType(objWebRequest.GetResponse(), System.Net.HttpWebResponse)

streamReader = New System.IO.StreamReader(objWebResponse.GetResponseStream)

strHTML = streamReader.ReadToEnd

You may need to read through some of the documentation pages starting with that one.  It's not quite as simple as popping AspHTTP.Conn....

But something along the lines of (assuming C# syntax, and without testing any of this):

    System.Net.HttpWebRequest myReq = (HttpWebRequest)System.Net.WebRequest.Create("somevalidurl");
    myReq.Timeout = 1000;  // milliseconds
    System.Net.WebResponse myResp = myReq.GetResponse();
    System.IO.Stream strm = myResp.GetResponseStream();
    System.Text.Encoding enc = System.Text.Encoding.GetEncoding("utf-8");
    StreamReader readStream = new StreamReader(myResp, enc);

    StringBuilder sbResult = new StringBuilder();

    // Grab 256 chars at a time
    Char[] read = new Char[256];
    int count = readStream.Read( read, 0, 256 );
    while (count > 0)
        // add the 256 characters into the StringBuilder
        count = readStream.Read(read, 0, 256);

    // dump the StringBuilder contents into a string variable
    string strResult = sbResult.ToString();

    // free up the stream's resources

For a list of the properties and methods of the WebRequest class, see http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemnetwebrequestmemberstopic.asp

For a list of the properties and methods of the WebResponse class, see http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemnetwebresponsememberstopic.asp
StreamReader.ReadToEnd -- that's what I was missing.  :-O

Good stuff.  :-)
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now