Manual
fastrpc-netcat(1) USER COMMANDS fastrpc-netcat(1)
NAME
fastrpc-netcat
SYNOPSIS
fastrpc-netcat [{HOST [PORT]} | http://HOST:PORT/PATH}]
DESCRIPTION
XML-RPC/FastRPC/MySQL console with Python-like syntax
OPTIONS
HOST RPC server hostname
PORT RPC server port
PATH RPC server path, default is /RPC2 (when not using URL notation)
EXAMPLES
Connect to RPC server on http://10.0.16.40:3990/RPC2:
fastrpc-netcat 10.0.16.40 3990
Connect to RPC server on http://10.0.16.40:9999/rpc.php:
fastrpc-netcat http://10.0.16.40:9999/rpc.php
STARTUP
On startup fastrpc-netcat tries to import fn.py from PYTHONPATH. On
success symbols from fn.py are available as fn.SYMBOLNAME.
INTERACTIVE CONSOLE
When fastrpc-netcat is executed, it spawns an interactive console. This
interactive console uses Python-like syntax. By default the expression
entered is evaluated as Python expression and printed out, for example:
fastrpc-netcat[18107] > [1,2,3,4,5]
writes out:
result = array (
[0] int = 1
[1] int = 2
[2] int = 3
[3] int = 4
[4] int = 5
)
Method returned after 121.117 microseconds
If we want to write expression out in Python syntax, we can use:
fastrpc-netcat[18107] > [1,2,3,4,5,{"a":"b"}]*
and it writes out:
[1, 2, 3, 4, 5, {’a’: ’b’}]
Method returned after 121.117 microseconds
This console also supports one-line Python sentences, if you prefix it
with exclamation mark:
fastrpc-netcat[18107] > !for a in xrange(5): print "Hello %s!" % a
produces this output:
Hello 0!
Hello 1!
Hello 2!
Hello 3!
Hello 4!
To connect to (another) RPC server and call it ’test’, we use:
fastrpc-netcat[18107] > connect test 127.0.0.1 9999
New client is now known as test
fastrpc-netcat[18107] >
then we can call methods:
fastrpc-netcat[18107] > test.system.listMethods()
result = array (
[0] string = "session.check"
[1] string = "session.cleanup"
[2] string = "session.create"
[3] string = "session.getMetadata"
[4] string = "session.remove"
[5] string = "session.setMetadata"
[6] string = "session.stat"
[7] string = "session.update"
[8] string = "system.listMethods"
[9] string = "system.methodHelp"
[10] string = "system.methodSignature"
[11] string = "system.multicall"
)
Method returned after 1.036 milliseconds
fastrpc-netcat[18107] >
To connect to database and call it ’testdb’, we use:
fastrpc-netcat[18107] > connectdb testdb 127.0.0.1 mysql root mysecretpassword
New database client is now known as testdb
fastrpc-netcat[18107] >
and now we can do some SQL query:
fastrpc-netcat[18107] > testdb.execute("SELECT DISTINCT Host FROM user")
result = array (
[0] struct = {
string Host = "%"
}
[1] struct = {
string Host = "192.168.1.99"
}
[2] struct = {
string Host = "ingwe"
}
[3] struct = {
string Host = "localhost"
}
[4] struct = {
string Host = "thingol"
}
)
Method returned after 420.048 milliseconds
we can work with result as in Python:
fastrpc-netcat[18107] > testdb.execute("SELECT DISTINCT Host FROM user")[0]["Host"]
result = string "%"
Method returned after 74.213 milliseconds
COMMANDS IN INTERACTIVE CONSOLE
connect
Creates new connection to RPC server:
connect [NAME] {HOST} {PORT}
connect [NAME] http://{HOST}:{PORT}/{URL}
connectdb
Creates new connection to MySQL database:
connectdb {NAME} {HOST} {DBNAME} {USER} [PASSWORD]
timeout
Sets RPC read timeout:
timeout {MILLISECONDS}
charset
Sets input/output charset:
charset {CHARSET}
help Prints help:
help [METHOD]
{METHOD} -h
exit Exits fastrpc-netcat console:
exit [RESULT]
quit [RESULT]
import Imports python module:
import sys
import datetime
FILE() Readfile function, returns file contents as fastrpc binary:
FILE("{FILENAME}")
when bare string needed, use FILE(...).data
Binary()
Creates binary type (Base64 for XML-RPC, Binary for FastRPC):
Binary({STRING})
DateTime()
Creates datetime type:
DateTime({TIMESTAMP|STRING})
Boolean()
Creates boolean type:
Boolean({BOOLEAN|INTEGER})
FILES
~/.fastrpc-netcatrc
The individual startup file
~/.fastrpc-netcat_history
Console history file
fn.py (in PYTHONPATH)
The individual methods and variables file
/usr/share/fastrpc-netcat/COPYING
License information
AUTHOR
Eduard Veleba (eduard.veleba (at) firma.seznam.cz)
LICENSE
Fastrpc-netcat is released under GNU General Public License version 3.
version 0.1 September 27, 2007 fastrpc-netcat(1)