IIS/NT don't have built-in feature for that purpose. To accomplish this , you can use ASP Tear component from SoftWing (free). For more information you can go to
http://www.alphasierrapapa.com/IisDev/Components/AspTear/ AspTear
AspTear is a simple component for "tearing" web pages from a server. AspTear allows you to retrieve web pages from servers easily with a bunch of features.
AspTear's main features:
Supports GET and POST
Send query strings and POST data to the server
Access HTTP and HTTPS resources
Log in to secured sites with username/password
Basics
So how does it work? AspTear 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 we 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!
ASP Sample
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.
Listing 1: formpost.asp
<%
Response.Write Request.ServerVariables("ALL_HTTP")
%>
<%
Response.Write Request.Form("test")
%>
See it in action - Click Here!
Listing 2: testretrieve.asp
<%
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://devcenter.net-impact.net/formpost.asp", _
Request_POST, "", "", "")
If Err.Number <> 0 Then
Response.Write "
"
If Err.Number >= 400 Then
Response.Write "Server returned error: " & Err.Number
Else
Response.Write "Component/WinInet error: " & Err.Description
End If
Response.Write ""
Response.End
End If
Response.Write strRetval
%>
See it in action - Click Here!
A Practical Example
A more practical example of the uses for ASPTear involve using the Open Directory Project
ASP Tear will allow you to take content from a page but strip out all or some of the images and other branding information. By combining ASP Tear and the Open Directory Project, you can create your own full-functional, search engine. Take a look at how we've used this in our own search engine. All of the data is pulled fresh from the Open Directory Project, but the graphics and look of the page are ours, on our servers.