Connectivity

SilkPerformer      -       Connectivity     
     -      
     -       Back to SilkPerformer Test Site
icon last updated on 4/1/2014 8:03:59 AM


Server Variables

Display all server variables
servervar.asp

Enter the server variable you want to display or clear the edit field to list possible variable names.


Ftp Requests

Connect to the local FTP server.
ftp://ftpuser:ftppass@demo.borland.com

Redirect to the local FTP server.
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

            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

Take care: Transfer-Encoding: chunked will not work if HTTP/1.0 is used


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.
conn_webheader.asp

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.


Custom Response Header

Use the following form to set any custom header in the server's response.

Header:
Value:

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

Server returns content length: 0 (build 504: recorder and replay engine will raise an error message).

Rather simple:

              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
            
Enter the Location-header(where to redirect):


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 following sample uses the Microsoft Posting Acceptor 2.0 for file uploads to a Web server.
Following is of importance:

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!

            
              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
              }
            
          
1st File to process:
2nd File to process:
3rd File to process:
Upload to:
Your choice:
Your input:


File Upload (II)

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.

Only for small files!!!

Debug mode
Your comment:
1st File to process:
2nd File to process:
3rd File to process:
Your choice:
Your input:


File Upload (III)

This sample just posts the data to data2html.asp - the files are not stored.
Your comment:
1st File to process:
2nd File to process:
3rd File to process:
Your choice:
Your input:


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.
Method:
Header:
Value:


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.
Header:
Value:


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>

but when specifying the proper querystring ("?process=...") it does the follwing:

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.