This code was downloaded from MOBZystems, Home of Tools. No license, use at will. And at your own risk!
''' This file contains the source code for a simple console application
''' that collects and displays Codeplex statistics (page views, visits, and downloads)
''' for a group of projects.
 
Option Strict On
Option Explicit On
 
Imports System.Net
Imports System.Text
Imports System.IO
 
' Use JSON.NET to parse the JSON response from GetActivity
Imports Newtonsoft.Json
 
Module CodeplexStats
 
  ''' <summary>
  ''' Data returned from GetActivity
  ''' </summary>
  Private Class ActivityInfo
    Public pageViews As Integer
    Public visits As Integer
    Public downloads As Integer
  End Class
 
  ''' <summary>
  ''' Download and show Codeplex statistics on a series of projects
  ''' </summary>
  Sub Main()
    ' Show header
    Console.WriteLine(
      String.Format(
        "{0,-40} {1,15} {2,15} {3,15}",
        "Project:",
        "Page views:",
        "Visits:",
        "Downloads:"
      )
    )
 
    ' Loop over projects
    For Each projectName As String In
    {
      "MOBZHash",
      "MOBZHunt",
      "MOBZKeys",
      "MOBZoom",
      "MOBZPing",
      "MOBZRuler",
      "MOBZync",
      "QuickCode",
      "RegFind",
      "RegName",
      "RunNET",
      "SeeThroughWindows",
      "ShellRunner"
    }
      ' Get activity information for a project
      ' Note: -1 is 'All'
      Dim actInfo As ActivityInfo = GetActivityForProject(projectName, -1)
 
      ' Show activity info
      Console.WriteLine(
        String.Format(
          "{0,-40} {1,15} {2,15} {3,15}",
          projectName,
          actInfo.pageViews,
          actInfo.visits,
          actInfo.downloads
        )
      )
    Next
  End Sub
 
  ''' <summary>
  ''' Get the activity information for a Codeplex project
  ''' </summary>
  ''' <param name="projectName">The name of the project (as in [projectname].codeplex.com)</param>
  ''' <param name="period">7, 30 or -1 ("All")</param>
  ''' <returns>A populated ActivityInfo object</returns>
  ''' <remarks>No error handling!</remarks>
  Private Function GetActivityForProject(
    projectName As String,
    period As Integer
  ) As ActivityInfo
 
    ' Set up a WebRequest
    Dim request As WebRequest = WebRequest.Create(
      String.Format("http://{0}.codeplex.com/stats/getActivity", projectName)
    )
    ' Use POST to supply the parameters
    request.Method = "POST"
    request.ContentType = "application/x-www-form-urlencoded"
 
    ' Set up the POST data
    Dim postData As String = String.Format("period={0}", period)
 
    ' Write it to the request stream in UTF8 format
    Dim byteArray As Byte() = Encoding.UTF8.GetBytes(postData)
    ' Set Content length BEFORE writing
    request.ContentLength = byteArray.Length
 
    Using dataStream As Stream = request.GetRequestStream()
      dataStream.Write(byteArray, 0, byteArray.Length)
    End Using
 
    ' Get and process the response
    Using response As WebResponse = request.GetResponse()
      Using dataStream As Stream = response.GetResponseStream()
        Using reader As New StreamReader(dataStream)
          Dim responseFromServer As String = reader.ReadToEnd()
 
          ' Return an ActivityInfo from the content of the response
          Return JsonConvert.DeserializeObject(Of ActivityInfo)(
            responseFromServer
          )
        End Using
      End Using
    End Using
  End Function
 
End Module