Using Task Scheduler and a VBS File to Request a Web Page on a Scheduled Basis
By Steve Schofield
October 17, 2006
One frequent question I see in the newsgroups is "how do I create a
process to run a web page on a scheduled basis?” This article discusses one technique using a VBS Script and Windows Task
Scheduler. Using Windows Task scheduler allows custom jobs to execute without having
to stay logged into a server. You can use this technique to request web pages on a timed basis. This keeps the page in-memory providing a better performance.
This could also request web pages to perform other administrative tasks.
Here are steps to get started.
- Write your VBS Script
- Develop the webpage to process the HTTP Request
- Schedule the VBS Script
Write your VBS script
The script makes an HTTP request to a webpage on a timed basis.
(i.e. every 5 minutes).
YourVBScript.vbs
Call LogEntry()
Sub LogEntry()
'Force the script to finish on an error.
On Error Resume Next
Declare variables
Dim objRequest
Dim URL
Set objRequest = CreateObject("Microsoft.XMLHTTP")
'Put together the URL link appending the Variables.
URL = "http://www.YourDomain.com/track.aspx"
'Open the HTTP request and pass the URL to the objRequest
object
objRequest.open "POST", URL , false
'Send the HTML Request
objRequest.Send
'Set the object to nothing
Set objRequest = Nothing
End Sub
Tracklog.aspx webpage
<%@ Page Language="VB" AutoEventWireup="false" codefile="tracklog.aspx.vb" Inherits="Tracklog"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Log Page</title>
</head>
<body>
<form id="form1" runat="server">
<div></div>
</form>
</body>
</html>
Tracklog.aspx.vb code behind
Imports System.Data
Imports System.Data.SqlClient
Imports
System.Configuration
Partial Class Tracklog
Inherits System.Web.UI.Page
Protected
Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
‘Put your code in that would process when Track.aspx is request
Response.write(“Track.aspx
was called:” & System.DateTime.Now())
End Sub
End Class
How to schedule a task using Windows Task Scheduler
A scheduled task will allow a person to schedule any script, program, or document
to run. Scheduled Tasks run at the time specified which could be multiple times
per minute, hour, or day. The KB Article explains step-by-step.
- http://support.microsoft.com/default.aspx?scid=kb;en-us;308569&sd=tech
Reference Links
Steve Schofield is a Senior Internet Support
Specialist with
ORCS Web, Inc.
- a company that provides managed hosting solutions for clients who develop and deploy their applications on Microsoft Windows platforms. Services include shared hosting, dedicated hosting, and webfarm hosting, with specialty in .Net, SQL Server, and architecting highly scalable solutions.