AspTear Component - free
Last updated: 01/04/99, Initial Release
AspTear 1.50 is available as commercial component. AspTear 1.0 will be available for free forever.
Articles about AspTear
Creating an HTTP Testing Tool
Grabbing Information from other Servers
Speeding Up ASP Pages by With Caching
Grabbing Table Columns from Other Web Pages
Speed up your ASP pages: Turn Them into HTML with ASPTear
What about a simple and cheap (=totally free) component for "tearing" web pages from a server? If you have searched for such a solution, then you are right here: AspTear allows you to retrieve web pages from servers easily with a bunch of features.
Here's a list of the component's main features:
So how does it work? Currently, the component is really very simple as it supports only one method
(server-side VBScript pseudocode given here):
Const Request_POST = 1 Const Request_GET = 2 Set xObj = Server.CreateObject("SOFTWING.AspTear") strRetVal = xObj.Retrieve(strUrl, nRequestType, strQueryString|strPostData, _ strUsername, strPassword)The file retrieved is returned as method return value (strRetVal; errors are returned with exceptions - see the samples). If you don't need to supply Username and Password, leave them empty (""). Thus, the simplest request looks like this:
strRetVal = xObj.Retrieve("http://www.alphasierrapapa.com/iisdev/",2,"","","")Notice that I did not supply a document - the component supports redirects! Now let's get a little bit more sophisticated: POST a form to the server with form data. How is this form data formatted? It needs to have the following form,
variable1=value1&variable2=value2...where value1 to n need to be URL-encoded. To URL-encode a string value, use Server.URLEncode (this is also mandatory for querystrings):
strPostData = "Name=" & Server.URLEncode("Christoph Wille") & _ "&goto=" & Server.URLEncode("http://www.alphasierrapapa.com/")The call to Retrieve now looks like this:
strRetVal = xObj.Retrieve("http://www.alphasierrapapa.com/",1,strPostData,"","")The last thing to discuss is how to access SSL-secured items - it is as simple as replacing http:// with https:// in the strUrl parameter!
In this section, there is a simple sample with two files: formpost.asp (Listing 1) which accepts a parameter and dumps it with the ALL_HTTP server variable; the second file is testretrieve.asp (see Listing 2), which uses the component to retrieve the formpost.asp file and return it to the client.
<PRE> <% Response.Write Request.ServerVariables("ALL_HTTP") %> </PRE> <% Response.Write Request.Form("test") %> <form method=post action=""> <input type=text name="test"> <input type=submit> </form>
<% Const Request_POST = 1 Const Request_GET = 2 Set xobj = CreateObject("SOFTWING.ASPtear") Response.ContentType = "text/html" On Error Resume Next ' URL, action, payload, username, password strRetval = xobj.Retrieve("http://18.104.22.168/iisdev/asptear/formpost.asp", _ Request_POST, "test=wille", "", "") If Err.Number <> 0 Then Response.Write "<b>" If Err.Number >= 400 Then Response.Write "Server returned error: " & Err.Number Else Response.Write "Component/WinInet error: " & Err.Description End If Response.Write "</b>" Response.End End If Response.Write strRetval %>
Use It Everywhere!
Due to its design, the component can be used in any Automation client as it does not rely on the ASP intrinsic objects. The following code snippet shows the Excel module sample shipping with the component (change the URLs as needed):
Const Request_POST = 1 Const Request_GET = 2 Sub DoTestComponent() On Error GoTo err_test_handler Dim xobj As Object, strRetval As String Set xobj = CreateObject("SOFTWING.ASPtear") ' URL, action, payload, username, password strRetval = xobj.Retrieve("http://22.214.171.124/formpost.asp", _ Request_POST, "test=wille", "", "") Debug.Print strRetval Exit Sub err_test_handler: If Err.Number >= 400 Then MsgBox "Server returned error: " & Err.Number Else MsgBox "Component/WinInet error: " & Err.Description End If End Sub
Installation and Download
Before using the component you have to register it using the regsvr32 utility: regsvr32 AspTear.dll.
Download (size is approx. 85KB)
If you do have any questions, please feel free to send mail to Christoph Wille.
All content and images on this site are copyright. Reuse (even parts) needs our written consent.