Dynamically Generating Curl Content

VERSION 9 Published

Created on:Oct 24, 2007 7:55 AM by CurlEducation - Last Modified:  Oct 28, 2007 6:16 PM by CurlEducation

With server-side technologies such as ASP and PHP, you can use Curl applets that are generated on the fly. Dynamic data can be placed into a Curl applet that is sent from a server to the user's browser.

Curl works with server languages such as ASP, JSP, PHP, and CGI. Scripts in these languages can generate Curl applets to be launched on the client machine, after which all Curl processing happens on the client machine.

Generating Curl from a Script

In the following examples, we are using ASP or PHP to dynamically generate Curl content. If you are familiar with scripting languages, you will notice that what would otherwise be HTML has been replaced with Curl code.

In either case, you will have to:

  1. Identify the server scripting language, for example: ?php
  2. State the MIME type declaration for Curl content, for example: text/vnd.curl
  3. Embed correctly formed Curl applet code

The following examples both generate similar Curl code. They produce a display like this when run.

/wiki/samples/images/phpscript.jpg

PHP Example
<?php
/**
 *
 * PHP example
 *
 */
header('Content-type: text/vnd.curl');
// All of the above code is PHP.
// What follows the next line (i.e., after "echo <<<END") is Curl code.
echo <<<END
 
{curl 5.0 applet}
 
{value
    {Frame
        width = 5cm,
        height = 5cm,
        border-color = "gray",
        border-width = 0.1cm,
        border-style = "raised",
        background = "#4578ef",
        {hcenter
            {vcenter
                "A PHP script on the server generated this applet."
            }
        }
    }
}
 
END;
// The Curl code ended before the previous line (i.e., before "END;").
?>


ASP Example
<%@ LANGUAGE=vbscript%>
<% Response.ContentType = "text/vnd.curl" %>
 
{curl 5.0 applet}
 
{value
    {Frame
        width = 5cm,
        height = 5cm,
        border-color = "gray",
        border-width = 0.1cm,
        border-style = "raised",
        background = "#4578ef",
        {hcenter
            {vcenter
                "An ASP script on the server generated this applet."
            }
        }
    }
}


Passing Variables from a Script

The previous examples demonstrate how to generate Curl content directly from a server script. Now we are adding in the use of variables. It is common that you may have script variables that store relevant information about the session such as:

  • Session ID
  • Cookie information
  • Username
  • Other user identification information

The following is an example of Curl being generated by a PHP script. It includes the use of a variable ($variable) which is set by calling a function in a separate PHP file to obtain a username for display in the Curl applet.

The resulting content displayed is:

/wiki/samples/images/phpvariable.jpg

PHP Example
<?php
 
// Include any supporting PHP code.
include("supporting-php-code.php");
 
// Set the Curl MIME type
header('Content-type: text/vnd.curl');
 
// Set a variable using your PHP code.
$variable = getUsername();
 
// All of the above code is PHP.
// What follows the next line (i.e., after "echo <<<END") is Curl code.
echo <<<END
 
{curl 5.0 applet}
 
{value
    {Frame
        width = 5cm,
        height = 5cm,
        border-color = "gray",
        border-width = 0.1cm,
        border-style = "raised",
        background = "#4578ef",
        {hcenter
            {vcenter
                "Hello " & "$variable" & "!"
            }
        }
    }
}
 
END;
// The Curl code ended before the previous line (i.e., before "END;").
?>


Notice on the code displayed above that we are including supporting PHP code. In this case, the file supporting-php-code.php contains the following content:

<?php
 
function getUsername() {
  return "Curl User";
}
?>


In an actual application, the getUsername function retrieves information from one of the data sources mentioned above.

ASP Example

<%@ LANGUAGE=vbscript%>
<% Response.ContentType = "text/vnd.curl" %>
 
<% variable= getUsername() %>
 
{curl 5.0 applet}
 
{value
    {Frame
        width = 5cm,
        height = 5cm,
        border-color = "gray",
        border-width = 0.1cm,
        border-style = "raised",
        background = "#4578ef",
        {hcenter
            {vcenter
                "Hello " & "<% =variable%>" & "!"
            }
        }
    }
}


/wiki/samples/images/note.jpg Other ways to run Curl applets include the following:

Average User Rating
(1 rating)




Nov 8, 2007 7:17 PM Click to view Tony's profile Tony says:

Is there any Jsp example?

Nov 12, 2007 12:41 PM Click to view ssarokas's profile ssarokas says: in response to: Tony

Tony, this has been posted by Cheese in the Ask the Expert section. Please see {message:id=1070}

Feb 11, 2008 6:06 PM Click to view Duke's profile Duke says: in response to: ssarokas

The full URL is

http://developers.curl.com/click.jspa?searchID=1421&objectType=2&objectID=1070

or you can just try searching for "jsp".