| |
subnation
Posts: 20
Score: 0
Joined: 5/22/2001
From: USA
Status: offline
|
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.
|
|