<?php
/**
* Author: James Hu
* Email: techman@navime.net
*/
class RpcClient {
private $server_url;
private $passcode;
public function RpcClient($server_url, $passcode = '') {
$this->__construct($server_url, $passcode);
}
public function __construct($server_url, $passcode = '') {
$this->server_url = $server_url;
$this->set_passcode($passcode);
}
public function set_passcode($passcode) {
$this->passcode = $passcode;
}
public function call($func) {
$url = $this->server_url . "?call=$func";
$args = func_get_args();
array_shift($args);
$args = join(',', $args);
$url .= "¶ms=" . $args;
if(!empty($this->passcode)) $url .= "&passcode=" . $this->passcode;
$response = file_get_contents($url);
if(!$response) throw new Exception('no response from server');
$data = @json_decode($response, true);
if(!$data || !isset($data['ok']) || !isset($data['response']))
throw new Exception("invalid response from server: $response");
if($data['ok'] || $data['ok'] == 'true') return $data['response'];
else throw new Exception($data['response']);
}
};
?>
Wednesday, January 5, 2011
Php Json-RPC source code (client side)
Labels:
PHP Library
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment