Sample code for 30+ languages & platforms
PHP ActiveX

HTTP POST x-www-form-urlencoded

Demonstrates how to send a simple x-www-form-urlencoded POST.

Chilkat PHP ActiveX Downloads

PHP ActiveX
<?php

$success = 0;

$http = new COM("Chilkat.Http");

$jsonStr = '{ some json ... }';

$req = new COM("Chilkat.HttpRequest");
// This query parameter just happens to be named "json" and contains JSON text.
$req->AddParam('json',$jsonStr);

// We can optionally add more query parameters. 
$req->AddParam('abc','123');
$req->AddParam('xml','<abc>123</abc>');

// Note: Just because we passed a query param named "json" or "xml" means nothing special.  It's still just
// a name=value query parameter..

$req->HttpVerb = 'POST';
$req->ContentType = 'application/x-www-form-urlencoded';

$resp = new COM("Chilkat.HttpResponse");
$success = $http->HttpReq('http://example.com/xyz/connect/report',$req,$resp);
if ($success == 0) {
    print $http->LastErrorText . "\n";
    exit;
}

if ($resp->StatusCode != 200) {
    print 'Hey, I didn't receive the expected response status code!' . "\n";
    print 'status code = ' . $resp->StatusCode . "\n";
}

// Could be error text if the status code wasn't what we expected, or could be the response
// body you're seeking..
$responseBody = $resp->BodyStr;
print $responseBody . "\n";

$fac = new COM("Chilkat.FileAccess");
$filepath = 'some file path';
$success = $fac->WriteEntireTextFile($filepath,$responseBody,'utf-8',0);
if ($success != 1) {
    print $fac->LastErrorText . "\n";
}


?>