|
Server Variables
Display all server variables
Enter the server variable you want to display or clear the edit field to list possible variable names.
servervar.asp
Ftp Requests
Connect to the local FTP server.
Redirect to the local FTP server.
ftp://ftpuser:ftppass@demo.borland.com
status_3xx.asp?status=302 Moved Temporarily&url=ftp://ftpuser:ftppass@demo.borland.com
Transfer-Encoding: chunked
Transfer-Encoding: chunked requires HTTP/1.1
conn_chunked.asp
response.addheader "Transfer-Encoding", "chunked"
response.write "1a" + chr(13) + chr(10)
response.write "abcdefghijklmnopqrstuvwxyz" + chr(13) + chr(10)
response.write "10" + chr(13) + chr(10)
response.write "1234567890abcdef" + chr(13) + chr(10)
response.write "0" + chr(13) + chr(10)
Connection close
conn_connectionclose.asp
...
response.addheader "Connection", "close"
...
conn_connection.asp
...
response.addheader "Connection", "Close"
response.addheader "Connection", "Keep-alive"
...
Message Length
Take care: Transfer-Encoding: chunked will not work if HTTP/1.0 is used
From RFC 2068, 4.4 Message Length:
...
2. If a Transfer-Encoding header field (section 14.40) is present and
indicates that the "chunked" transfer coding has been applied, then
the length is defined by the chunked encoding (section 3.6).
3. If a Content-Length header field (section 14.14) is present, its
value in bytes represents the length of the message-body.
...
For compatibility with HTTP/1.0 applications, HTTP/1.1 requests
containing a message-body MUST include a valid Content-Length header
field unless the server is known to be HTTP/1.1 compliant.
...
Messages MUST NOT include both a Content-Length header field and the
"chunked" transfer coding. If both are received, the Content-Length
MUST be ignored.
...
response.addheader "Content-Length", "100"
...
conn_contentlen1.asp length < content
conn_contentlen2.asp length > content
conn_contentlen3.asp length = content, chunked
conn_contentlen4.asp length = content
conn_contentlen5.asp chunked
Custom Request Header
This sample is SilkPerformer replay only - when accessed by a Web browser this asp cannot return successfully
because of the missing Web header (set by WebHeaderAdd() in a bdf-file) to compare with.
Following sample consists of an applet sending
custom request header(s) to an asp. Additionally the header(s) are also sent in the querystring to
check if everything was ok. It's not possible to send multiple headers of the same name due to a
restrictions in setRequestProperty of Java's URLConnection class which overwrites already existing names.
conn_webheader.asp
Custom Response Header
Use the following form to set any custom header in the server's response.
Setting multiple headers of the same name in the server's response
Click to access a sample which sets multiple headers of the same name.
Response content length 0
Rather simple:
Server returns content length: 0 (build 504: recorder and replay engine will raise an error message).
response.addheader "Content-Length", "0"
conn_len0.asp
Advanced: sets the Location and Content-Length header and forces a 302 Moved Temporarily:
url = request("url") status = "302 Moved Temporarily" response.addheader "Location", url response.addheader "Content-Length", "0" response.status = status
Refresh header
This document uses the META HTTP-EQUIV="Refresh" header.
This one is a combination of the above and the cookie counter sample.
This sample uses the HTTP "Refresh" header instead.
This page uses the META HTTP-EQUIV="Refresh" header and
starts a 2nd page which again uses the META HTTP-EQUIV="Refresh" header and starts a 3rd page
which finally brings the bowser to an infinite loop starting again the 1st page.
The next one uses the META HTTP-EQUIV="Refresh" header but refers to the 2nd page using an absolute URL.
Streaming Media
The following page provides a Windows Media Player sample.
Click to preview
File Upload (I)
The Posting Acceptor dll produces a bad response! As you can see there are TWO "200 OK" status codes in
one and the same response!
The following sample uses the Microsoft Posting Acceptor 2.0 for file uploads to a Web server.
Following is of importance:
HttpResponseHeader(#548, 411 bytes)
{
HTTP/1.1·200·OK\r\n
Server:·Microsoft-IIS/4.0\r\n
Date:·Mon,·14·Feb·2000·08:25:53·GMT\r\n
SessionId:·2628304\r\n
HTTP/1.1·200·OK:·\r\n
Server:·Microsoft-IIS/4.0\r\n
Date:·Mon,·14·Feb·2000·08:25:53·GMT\r\n
Connection:·keep-alive\r\n
Connection:·Keep-Alive\r\n
Content-Length:·795\r\n
Content-Type:·text/html\r\n
Set-Cookie:·ASPSESSIONIDGQQGGQPU=KPHLPNNDPIDPMIJHLCJAHPKF;·path=/\r\n
Cache-control:·private\r\n
Expires:·Sun,·14·Feb·1999·08:25:53·GMT\r\n\r\n
}
File Upload (II)
Only for small files!!!
This sample posts the files to rawdata.asp which stores them to c:\temp.
rawdata.asp uses ASP and VBScript only and if therefor not useable for larger files.
File Upload (III)
This sample just posts the data to data2html.asp - the files are not stored.
Embeded Documents
Some attributes of the <applet> tag caused problems on replay.
Check the Sample
JavaScript POST to images
WebPageAddUrl is generated if an image is requested by javascript using the POST method (see bug #3013).
The following sample reproduces this behavior.
Custom Requests
Following applet allows custom HTTP requests.
Always the same
Pressing this link sends a GET request to conn_same.asp which responds
with an HTML content containing a FORM. On a click to the submit button a POST request is sent
- again - to conn_same.asp which now presents the submited data.
The following sample contains just one image (thesameimage.gif); the asp replaces that image with 0.jpg, 1.jpg or 2.jpg by copying to thesameimage.gif.
So the image's url is always the same but the content differs.
ImageMap
Click the link to access the ismap/usemap samples.
Embedded 404
This document produces a 404 status code for the missing embedded image.
Replaying using Page-based browser-level API refers to this error with a warning ("server error 404 - embedded object not found").
PDF
Open a pdf document.
Custom Content
Enter the html content to display in the below textarea.
Custom Content Raw
Enter the raw content to display in the below textareas.
Case Sensitive
The following page contains samples using client-side prepared case-sensitive references
Encode and Zip
The content of this sample ("conn_enczip.asp") is rather simple html:
<html><head></head><body><p><a href=>SilkPerformer</a></p></body></html>
(conn_enczip.asp?process=e) (conn_enczip.asp?process=z) (conn_enczip.asp?process=ez) (conn_enczip.asp?process=ze)
encode means that the char value gets increased by one (e.g. "a" (=97) gets "b" (=98));
the reason why you don't see anything special on zip (gzip compression) is because your web browser already unzipped it
JavaScript Testbed
Go to the JavaScript Testbed.
JavaScript Disappear
Go to the JavaScript Disappear.
External Domain
Go to the External Domain.