Public Member Functions | |
xmlrpc_client ($path, $server='', $port='', $method='') | |
setDebug ($in) | |
setCredentials ($u, $p, $t=1) | |
setCertificate ($cert, $certpass) | |
setCaCertificate ($cacert, $is_dir=false) | |
setKey ($key, $keypass) | |
setSSLVerifyPeer ($i) | |
setSSLVerifyHost ($i) | |
setProxy ($proxyhost, $proxyport, $proxyusername= '', $proxypassword= '', $proxyauthtype=1) | |
setAcceptedCompression ($compmethod) | |
setRequestCompression ($compmethod) | |
setCookie ($name, $value='', $path='', $domain='', $port=null) | |
& | send ($msg, $timeout=0, $method='') |
& | sendPayloadHTTP10 ($msg, $server, $port, $timeout=0, $username='', $password='', $authtype=1, $proxyhost='', $proxyport=0, $proxyusername='', $proxypassword='', $proxyauthtype=1) |
& | sendPayloadHTTPS ($msg, $server, $port, $timeout=0, $username='', $password='', $authtype=1, $cert='', $certpass='', $cacert='', $cacertdir='', $proxyhost='', $proxyport=0, $proxyusername='', $proxypassword='', $proxyauthtype=1, $keepalive=false, $key='', $keypass='') |
& | sendPayloadCURL ($msg, $server, $port, $timeout=0, $username='', $password='', $authtype=1, $cert='', $certpass='', $cacert='', $cacertdir='', $proxyhost='', $proxyport=0, $proxyusername='', $proxypassword='', $proxyauthtype=1, $method='https', $keepalive=false, $key='', $keypass='') |
multicall ($msgs, $timeout=0, $method='', $fallback=true) | |
_try_multicall ($msgs, $timeout, $method) | |
Public Attributes | |
$path | |
$server | |
$port = 0 | |
$method = 'http' | |
$errno | |
$errstr | |
$debug = 0 | |
$username = '' | |
$password = '' | |
$authtype = 1 | |
$cert = '' | |
$certpass = '' | |
$cacert = '' | |
$cacertdir = '' | |
$key = '' | |
$keypass = '' | |
$verifypeer = true | |
$verifyhost = 1 | |
$no_multicall = false | |
$proxy = '' | |
$proxyport = 0 | |
$proxy_user = '' | |
$proxy_pass = '' | |
$proxy_authtype = 1 | |
$cookies = array() | |
$accepted_compression = array() | |
$request_compression = '' | |
$xmlrpc_curl_handle = null | |
$keepalive = false | |
Wheter to use persistent connections for http 1.1 and https. | |
$accepted_charset_encodings = array() | |
Charset encodings that can be decoded without problems by the client. | |
$request_charset_encoding = '' | |
Charset encoding to be used in serializing request. NULL = use ASCII. | |
$return_type = 'xmlrpcvals' |
Definition at line 795 of file xmlrpc.inc.php.
xmlrpc_client::xmlrpc_client | ( | $ | path, | |
$ | server = '' , |
|||
$ | port = '' , |
|||
$ | method = '' | |||
) |
string | $path either the complete server URL or the PATH part of the xmlrc server URL, e.g. /xmlrpc/server.php | |
string | $server the server name / ip address | |
integer | $port the port the server is listening on, defaults to 80 or 443 depending on protocol used | |
string | $method the http protocol variant: defaults to 'http', 'https' and 'http11' can be used if CURL is installed |
Definition at line 860 of file xmlrpc.inc.php.
xmlrpc_client::setDebug | ( | $ | in | ) |
Enables/disables the echoing to screen of the xmlrpc responses received
integer | $debug values 0, 1 and 2 are supported (2 = echo sent msg too, before received response) public |
Definition at line 936 of file xmlrpc.inc.php.
References debug().
xmlrpc_client::setCredentials | ( | $ | u, | |
$ | p, | |||
$ | t = 1 | |||
) |
Add some http BASIC AUTH credentials, used by the client to authenticate
string | $u username | |
string | $p password | |
integer | $t auth type. See curl_setopt man page for supported auth types. Defaults to CURLAUTH_BASIC (basic auth) public |
Definition at line 948 of file xmlrpc.inc.php.
xmlrpc_client::setCertificate | ( | $ | cert, | |
$ | certpass | |||
) |
Add a client-side https certificate
string | $cert | |
string | $certpass public |
Definition at line 961 of file xmlrpc.inc.php.
xmlrpc_client::setCaCertificate | ( | $ | cacert, | |
$ | is_dir = false | |||
) |
Add a CA certificate to verify server with (see man page about CURLOPT_CAINFO for more details
string | $cacert certificate file name (or dir holding certificates) | |
bool | $is_dir set to true to indicate cacert is a dir. defaults to false public |
Definition at line 974 of file xmlrpc.inc.php.
References $cacert.
xmlrpc_client::setKey | ( | $ | key, | |
$ | keypass | |||
) |
Set attributes for SSL communication: private SSL key
string | $key The name of a file containing a private SSL key | |
string | $keypass The secret password needed to use the private SSL key public NB: does not work in older php/curl installs Thanks to Daniel Convissor |
Definition at line 994 of file xmlrpc.inc.php.
xmlrpc_client::setSSLVerifyPeer | ( | $ | i | ) |
Set attributes for SSL communication: verify server certificate
bool | $i enable/disable verification of peer certificate public |
Definition at line 1005 of file xmlrpc.inc.php.
xmlrpc_client::setSSLVerifyHost | ( | $ | i | ) |
Set attributes for SSL communication: verify match of server cert w. hostname
int | $i public |
Definition at line 1015 of file xmlrpc.inc.php.
xmlrpc_client::setProxy | ( | $ | proxyhost, | |
$ | proxyport, | |||
$ | proxyusername = '' , |
|||
$ | proxypassword = '' , |
|||
$ | proxyauthtype = 1 | |||
) |
Set proxy info
string | $proxyhost | |
string | $proxyport Defaults to 8080 for HTTP and 443 for HTTPS | |
string | $proxyusername Leave blank if proxy has public access | |
string | $proxypassword Leave blank if proxy has public access | |
int | $proxyauthtype set to constant CURLAUTH_NTLM to use NTLM auth with proxy public |
Definition at line 1029 of file xmlrpc.inc.php.
References $proxyport.
xmlrpc_client::setAcceptedCompression | ( | $ | compmethod | ) |
Enables/disables reception of compressed xmlrpc responses. Note that enabling reception of compressed responses merely adds some standard http headers to xmlrpc requests. It is up to the xmlrpc server to return compressed responses when receiving such requests.
string | $compmethod either 'gzip', 'deflate', 'any' or '' public |
Definition at line 1046 of file xmlrpc.inc.php.
xmlrpc_client::setRequestCompression | ( | $ | compmethod | ) |
Enables/disables http compression of xmlrpc request. Take care when sending compressed requests: servers might not support them (and automatic fallback to uncompressed requests is not yet implemented)
string | $compmethod either 'gzip', 'deflate' or '' public |
Definition at line 1061 of file xmlrpc.inc.php.
xmlrpc_client::setCookie | ( | $ | name, | |
$ | value = '' , |
|||
$ | path = '' , |
|||
$ | domain = '' , |
|||
$ | port = null | |||
) |
Adds a cookie to list of cookies that will be sent to server. NB: setting any param but name and value will turn the cookie into a 'version 1' cookie: do not do it unless you know what you are doing
string | $name | |
string | $value | |
string | $path | |
string | $domain | |
int | $port public |
Definition at line 1079 of file xmlrpc.inc.php.
& xmlrpc_client::send | ( | $ | msg, | |
$ | timeout = 0 , |
|||
$ | method = '' | |||
) |
Send an xmlrpc request
mixed | $msg The message object, or an array of messages for using multicall, or the complete xml representation of a request | |
integer | $timeout Connection timeout, in seconds, If unspecified, a platform specific timeout will apply | |
string | $method if left unspecified, the http protocol chosen during creation of the object will be used |
Definition at line 1103 of file xmlrpc.inc.php.
References $method, $msg, debug(), multicall(), sendPayloadCURL(), sendPayloadHTTP10(), and sendPayloadHTTPS().
Referenced by _try_multicall(), and multicall().
& xmlrpc_client::sendPayloadHTTP10 | ( | $ | msg, | |
$ | server, | |||
$ | port, | |||
$ | timeout = 0 , |
|||
$ | username = '' , |
|||
$ | password = '' , |
|||
$ | authtype = 1 , |
|||
$ | proxyhost = '' , |
|||
$ | proxyport = 0 , |
|||
$ | proxyusername = '' , |
|||
$ | proxypassword = '' , |
|||
$ | proxyauthtype = 1 | |||
) |
& xmlrpc_client::sendPayloadHTTPS | ( | $ | msg, | |
$ | server, | |||
$ | port, | |||
$ | timeout = 0 , |
|||
$ | username = '' , |
|||
$ | password = '' , |
|||
$ | authtype = 1 , |
|||
$ | cert = '' , |
|||
$ | certpass = '' , |
|||
$ | cacert = '' , |
|||
$ | cacertdir = '' , |
|||
$ | proxyhost = '' , |
|||
$ | proxyport = 0 , |
|||
$ | proxyusername = '' , |
|||
$ | proxypassword = '' , |
|||
$ | proxyauthtype = 1 , |
|||
$ | keepalive = false , |
|||
$ | key = '' , |
|||
$ | keypass = '' | |||
) |
private
Definition at line 1379 of file xmlrpc.inc.php.
References $authtype, $cacert, $cacertdir, $cert, $certpass, $keepalive, $key, $keypass, $msg, $password, $port, $proxyport, $server, $username, and sendPayloadCURL().
Referenced by send().
& xmlrpc_client::sendPayloadCURL | ( | $ | msg, | |
$ | server, | |||
$ | port, | |||
$ | timeout = 0 , |
|||
$ | username = '' , |
|||
$ | password = '' , |
|||
$ | authtype = 1 , |
|||
$ | cert = '' , |
|||
$ | certpass = '' , |
|||
$ | cacert = '' , |
|||
$ | cacertdir = '' , |
|||
$ | proxyhost = '' , |
|||
$ | proxyport = 0 , |
|||
$ | proxyusername = '' , |
|||
$ | proxypassword = '' , |
|||
$ | proxyauthtype = 1 , |
|||
$ | method = 'https' , |
|||
$ | keepalive = false , |
|||
$ | key = '' , |
|||
$ | keypass = '' | |||
) |
Contributed by Justin Miller <justin@voxel.net> Requires curl to be built into PHP NB: CURL versions before 7.11.10 cannot use proxy to talk to https servers! private
Definition at line 1396 of file xmlrpc.inc.php.
References $a, $authtype, $cacert, $cacertdir, $cert, $certpass, $GLOBALS, $keepalive, $key, $keypass, $method, $msg, $password, $port, $proxyport, $server, $username, and debug().
Referenced by send(), and sendPayloadHTTPS().
xmlrpc_client::multicall | ( | $ | msgs, | |
$ | timeout = 0 , |
|||
$ | method = '' , |
|||
$ | fallback = true | |||
) |
Send an array of request messages and return an array of responses. Unless $this->no_multicall has been set to true, it will try first to use one single xmlrpc call to server method system.multicall, and revert to sending many successive calls in case of failure. This failure is also stored in $this->no_multicall for subsequent calls. Unfortunately, there is no server error code universally used to denote the fact that multicall is unsupported, so there is no way to reliably distinguish between that and a temporary failure. If you are sure that server supports multicall and do not want to fallback to using many single calls, set the fourth parameter to FALSE.
NB: trying to shoehorn extra functionality into existing syntax has resulted in pretty much convoluted code...
array | $msgs an array of xmlrpcmsg objects | |
integer | $timeout connection timeout (in seconds) | |
string | $method the http protocol variant to be used | |
boolean | fallback When true, upon receiveing an error during multicall, multiple single calls will be attempted |
Definition at line 1665 of file xmlrpc.inc.php.
References $GLOBALS, $method, $msg, _try_multicall(), and send().
Referenced by send().
xmlrpc_client::_try_multicall | ( | $ | msgs, | |
$ | timeout, | |||
$ | method | |||
) |
Attempt to boxcar $msgs via system.multicall. Returns either an array of xmlrpcreponses, an xmlrpc error response or false (when received response does not respect valid multicall syntax) private
Definition at line 1737 of file xmlrpc.inc.php.
References $method, $msg, and send().
Referenced by multicall().
xmlrpc_client::$path |
xmlrpc_client::$server |
Definition at line 798 of file xmlrpc.inc.php.
Referenced by sendPayloadCURL(), sendPayloadHTTP10(), sendPayloadHTTPS(), and xmlrpc_client().
xmlrpc_client::$port = 0 |
Definition at line 799 of file xmlrpc.inc.php.
Referenced by sendPayloadCURL(), sendPayloadHTTP10(), sendPayloadHTTPS(), setCookie(), and xmlrpc_client().
xmlrpc_client::$method = 'http' |
Definition at line 800 of file xmlrpc.inc.php.
Referenced by _try_multicall(), multicall(), send(), sendPayloadCURL(), and xmlrpc_client().
xmlrpc_client::$errno |
Definition at line 801 of file xmlrpc.inc.php.
xmlrpc_client::$errstr |
Definition at line 802 of file xmlrpc.inc.php.
xmlrpc_client::$debug = 0 |
Definition at line 803 of file xmlrpc.inc.php.
xmlrpc_client::$username = '' |
Definition at line 804 of file xmlrpc.inc.php.
Referenced by sendPayloadCURL(), sendPayloadHTTP10(), and sendPayloadHTTPS().
xmlrpc_client::$password = '' |
Definition at line 805 of file xmlrpc.inc.php.
Referenced by sendPayloadCURL(), sendPayloadHTTP10(), and sendPayloadHTTPS().
xmlrpc_client::$authtype = 1 |
Definition at line 806 of file xmlrpc.inc.php.
Referenced by sendPayloadCURL(), sendPayloadHTTP10(), and sendPayloadHTTPS().
xmlrpc_client::$cert = '' |
Definition at line 807 of file xmlrpc.inc.php.
Referenced by sendPayloadCURL(), sendPayloadHTTPS(), and setCertificate().
xmlrpc_client::$certpass = '' |
Definition at line 808 of file xmlrpc.inc.php.
Referenced by sendPayloadCURL(), sendPayloadHTTPS(), and setCertificate().
xmlrpc_client::$cacert = '' |
Definition at line 809 of file xmlrpc.inc.php.
Referenced by sendPayloadCURL(), sendPayloadHTTPS(), and setCaCertificate().
xmlrpc_client::$cacertdir = '' |
Definition at line 810 of file xmlrpc.inc.php.
Referenced by sendPayloadCURL(), and sendPayloadHTTPS().
xmlrpc_client::$key = '' |
Definition at line 811 of file xmlrpc.inc.php.
Referenced by sendPayloadCURL(), sendPayloadHTTPS(), and setKey().
xmlrpc_client::$keypass = '' |
Definition at line 812 of file xmlrpc.inc.php.
Referenced by sendPayloadCURL(), sendPayloadHTTPS(), and setKey().
xmlrpc_client::$verifypeer = true |
Definition at line 813 of file xmlrpc.inc.php.
xmlrpc_client::$verifyhost = 1 |
Definition at line 814 of file xmlrpc.inc.php.
xmlrpc_client::$no_multicall = false |
Definition at line 815 of file xmlrpc.inc.php.
xmlrpc_client::$proxy = '' |
Definition at line 816 of file xmlrpc.inc.php.
xmlrpc_client::$proxyport = 0 |
Definition at line 817 of file xmlrpc.inc.php.
Referenced by sendPayloadCURL(), sendPayloadHTTP10(), sendPayloadHTTPS(), and setProxy().
xmlrpc_client::$proxy_user = '' |
Definition at line 818 of file xmlrpc.inc.php.
xmlrpc_client::$proxy_pass = '' |
Definition at line 819 of file xmlrpc.inc.php.
xmlrpc_client::$proxy_authtype = 1 |
Definition at line 820 of file xmlrpc.inc.php.
xmlrpc_client::$cookies = array() |
Definition at line 821 of file xmlrpc.inc.php.
xmlrpc_client::$accepted_compression = array() |
List of http compression methods accepted by the client for responses. NB: PHP supports deflate, gzip compressions out of the box if compiled w. zlib
NNB: you can set it to any non-empty array for HTTP11 and HTTPS, since in those cases it will be up to CURL to decide the compression methods it supports. You might check for the presence of 'zlib' in the output of curl_version() to determine wheter compression is supported or not
Definition at line 831 of file xmlrpc.inc.php.
xmlrpc_client::$request_compression = '' |
Name of compression scheme to be used for sending requests. Either null, gzip or deflate
Definition at line 836 of file xmlrpc.inc.php.
xmlrpc_client::$xmlrpc_curl_handle = null |
CURL handle: used for keep-alive connections (PHP 4.3.8 up, see: http://curl.haxx.se/docs/faq.html#7.3)
Definition at line 841 of file xmlrpc.inc.php.
xmlrpc_client::$keepalive = false |
Wheter to use persistent connections for http 1.1 and https.
Definition at line 843 of file xmlrpc.inc.php.
Referenced by sendPayloadCURL(), and sendPayloadHTTPS().
xmlrpc_client::$accepted_charset_encodings = array() |
Charset encodings that can be decoded without problems by the client.
Definition at line 845 of file xmlrpc.inc.php.
xmlrpc_client::$request_charset_encoding = '' |
Charset encoding to be used in serializing request. NULL = use ASCII.
Definition at line 847 of file xmlrpc.inc.php.
xmlrpc_client::$return_type = 'xmlrpcvals' |
Decides the content of xmlrpcresp objects returned by calls to send() valid strings are 'xmlrpcvals', 'phpvals' or 'xml'
Definition at line 852 of file xmlrpc.inc.php.