zoukankan      html  css  js  c++  java
  • jsonRPC

    <?php

    /**
    * Simple JSON-RPC interface.
    */
    namespace org;

    class JsonRpc
    {
    protected $host, $port, $version;
    protected $id = 0;

    function __construct($host, $port, $version="2.0")
    {
    $this->host = $host;
    $this->port = $port;
    $this->version = $version;
    }

    function request($method, $params=array())
    {
    $data = array();
    $data['jsonrpc'] = $this->version;
    $data['id'] = $this->id++;
    $data['method'] = $method;
    $data['params'] = $params;

    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, $this->host);
    curl_setopt($ch, CURLOPT_PORT, $this->port);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
    curl_setopt($ch, CURLOPT_POST, TRUE);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

    $ret = curl_exec($ch);

    if($ret !== FALSE)
    {
    $formatted = $this->format_response($ret);

    if(isset($formatted->error))
    {
    //throw new RPCException($formatted->error->message, $formatted->error->code);
    return false;
    }
    else
    {
    return $formatted;
    }
    }
    else
    {
    throw new hinkException("Server did not respond");
    }
    }

    function format_response($response)
    {
    return @json_decode($response);
    }
    }

    // class RPCException extends Exception
    // {
    // public function __construct($message, $code = 0, Exception $previous = null)
    // {
    // parent::__construct($message, $code, $previous);
    // }

    // public function __toString()
    // {
    // return __CLASS__ . ": ".(($this->code > 0)?"[{$this->code}]:":"")." {$this->message} ";
    // }
    // }
  • 相关阅读:
    概率论基础
    感知机
    CSS3实现jquery的特效
    有品质的生活
    table点击一行显示下一行的特效
    colspan在浏览器中失效的问题
    css的框架——common.css
    使用 document.onreadystatechange()来判断页面加载完
    iframe中子页面通过js计算高度(使得页面不会显示不全)
    js返回上一页并刷新的多种方法
  • 原文地址:https://www.cnblogs.com/wzjwffg/p/11277421.html
Copyright © 2011-2022 走看看