开发者

Max CDN purge through API

开发者 https://www.devze.com 2023-03-06 11:31 出处:网络
I am trying to purge a file through the MaxCDN API but it\'s not working. Here\'s the code I\'m using. The print_r doesn\'t return any result.

I am trying to purge a file through the MaxCDN API but it's not working. Here's the code I'm using. The print_r doesn't return any result.

function purge() {
    date_default_timezone_set('America/Los_Angeles');
    $date = date('c');
    $apiid = 'myapiid';
    $apikey = 'myapi';
    $auth_key = hash('sha256', $date.':'.$apikey.':purge');
    $url = 'http://softsailor.alexdumitru.netdna-cdn.com/wp-content/themes/ss3/includes/sprite.jpg';
    if (!class_exists('IXR_Client')) {
        require_once (ABSPATH . WPINC . '/class-IXR.php');
    }
    $client = new IXR_Client('api.netdna.com','/xmlrpc/cache',80);
  开发者_开发问答  $client->timeout = 30;
    $client->query('cache.purge', $apiid, $auth_string, $date, $url);
    print_r($client->getResponse());
}

I turned debug on and I'm getting the following error Something went wrong - -32300 : transport error - HTTP status code was not 200


Hey Alex. I work at MaxCDN and here is a code example that I took from our Wiki:

<?php
date_default_timezone_set('America/Los_Angeles');
include("lib/xmlrpc.inc");
$cur = date('c');
$apiKey = 'api-key';
$apiUserId = 'api-user-id';
$namespace = 'cache';
$method = 'purge';
$authString = hash('sha256', $cur . ':' . $apiKey . ':' . $method);

// this is the url to purge
$url= 'http://static.jdorfman.netdna-cdn.com/static/images/frugal-it-logo.png';
$f=new xmlrpcmsg("$namespace.$method", array(php_xmlrpc_encode($apiUserId),
php_xmlrpc_encode($authString), php_xmlrpc_encode($cur),
php_xmlrpc_encode($url)));
$c=new xmlrpc_client("/xmlrpc/cache", "api.netdna.com", 80,'http11');
$r=&$c->send($f);
print_r($r);
?>

If you have any other questions or concerns feel free to get in contact with me: jdorfman at maxcdn dot com


jdorfman's example dumps the entire raw response but if you are like me you want to get it into data objects using php

Here are some helpful tips:

$r->serialize() to access just the raw XML response

to convert to JSON use this:

$xml = simplexml_load_string($r->serialize()); echo json_encode($xml);

0

精彩评论

暂无评论...
验证码 换一张
取 消