- 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? 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!
ASP Sample
This 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 (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")
%>
<form method=post action="">
<input type=text name="test">
<input type=submit>
</form>
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://DOMAINAME.COM/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
%>
| |
|
|