HTTP Get, HTTP Post software component for PHP for Windows

ActiveSocket is a Network Communication component for Windows Developers. It runs on any 32 bit and 64 bit Windows Platform, incl. Windows 7, Windows 2008, Windows 2003, Windows 2000, Windows Vista and Windows XP.
It features many IP protocols, incl.: SSH (Secure Shell), RSH (Remote Shell), HTTP(s), FTP, ICMP Ping, NTP, SNMP v1/v2c (Get,GetNext,Set), SNMP MIB translation, SNMP Trap Sender, SNMP Trap Receiver, Telnet, DNS, TCP, UDP, IP-to-Country, Wake-On-LAN and more. Samples are included many popular development platforms, incl. Visual C# .NET, Visual Basic .NET, ASP .NET, Visual Basic, Visual C/C++, ASP, Java, Javascript, PHP, Borland Delphi, Borland C++ Builder, ColdFusion.

HTTP Get and HTTP Post can be well integrated into PHP environments. This document describes how the ActiveSocket Http object can be integrated into PHP projects.

The most important functions of the Http object are:

  • Connect - connect to the (remote) HTTP web server on port 80 or any alternate port; optionally, use proxy credentials to use a proxy server; optionally, specify a web account and password for password protected web sites
  • Disconnect - to diconnect after a connect call;
  • ReadData - read all data from a web page;
  • WriteData - write data to a web page.

Step 1: Download and install ActiveSocket

Download ActiveSocket from the ActiveXperts Download Site and start the installation. The installation guides you through the installation process.

Step 2: Create a new Web Site

First, create a new directory on the IIS Server's file system. This directory will hold the ASP later on.

From the 'Start menu', click on 'Administrative Tools' and click on 'Internet Information Services (IIS) Manager'. Right-click on the 'Web Sites' container and choose 'New->Web Site':

(Click on the picture to enlarge)

The 'Web Site Creation Wizard' is shown, guiding you thorugh the process of creating a new web site. Provide all necessary information:

  • Description - a friendly description of the new site;
  • IP / Port / Host Header - choose your preferred way to distinguish between other web sites on the server;
  • Path - select the directory that will store the ASP file(s);
  • Web Site Access Permissions - in the Web Site Access Permissions dialog, enable 'Read' and 'Run scripts (such as ASP)';

You're now able to write an ASP script to use IP protocols with ActiveSocket.

Step 3: Create the ActiveSocket object in PHP

To create the ActiveSocket object in php use the following code:

$objHttp = new COM (ActiveXperts.Http);

In this sample we have built a page that is able to display the source code of another page. You're also able to get source codes from secured area's if you fill in the username and the password. The results are displayed in the page. To do this, we're using the following code.

    <?
     $url = $_POST['url'];
     if($url != ""){
            //first create the object, activeXperts.http is a com object
            $objHttp = new COM ("ActiveXperts.Http");
						
            //Fill in the username and password
            if($error != 0){
               $errormessage = $objHttp->getErrorDescription($objHttp->lasterror);						
            }
            else{
                $objHttp->WebAccount = $_POST['username'];
                $objHttp->WebPassword = $_POST['password'];
            }
            $error = $objHttp->Lasterror;
						
            //if the username and password are succesfully set, we can connect the server
            if($error != 0){
                $errormessage = $objHttp->getErrorDescription($objHttp->lasterror);						
            }
            else{
                //connect
                $objHttp->Connect($url);
            }
            $error = $objHttp->Lasterror;
						
            if($error != 0){
                $errormessage = $objHttp->getErrorDescription($objHttp->lasterror);						
            }
            else{
                //echo the sourcecode of the page
                //convert < and > of the code using htmlentities()
                echo htmlentities($objHttp->ReadData());
            }
        }			 
     ?>