PHP RIXP

Богомил Шопов

OpenFest 2005 Русе



Creative Commons Attribution-ShareAlike 2.5 License

За мен

Aз питам ;))

Какво е РНР?

PHP

Salle споменах MySQL ;)

XML-RPC



XML-RPC Заявка



POST /RPC2 HTTP/1.0
User-Agent: Frontier/5.1.2 (WinNT)
Host: betty.userland.com
Content-Type: text/xml
Content-length: 181

<methodCall>
<?xml version=”1.0”?>
<methodName>spisanie.getrank</methodName>
<params>
<param>
<value><string>http://spisanie.com</string></valie>
</param>
</params></methodCall>

XML-RPC Отговор



POST /RPC2 HTTP/1.0
User-Agent: Frontier/5.1.2 (WinNT)
Host: betty.userland.com
Content-Type: text/xml
Content-length: 181

<?xml version=”1.0”?>
<methodResponse>
<params>
<param>
<value><string>PageRank: 5</string></valie>
</param>
</params>
</methodResponse> 

PHP RIXP



PHP RIXP



Интерфейси за достъп



PHP
 require('service.php');
 $url="spisanie.cc";
 $s = XMLRPC_request("localhost:444", "/", "rixp.getmethods", array(XMLRPC_prepare($url)));
 print_r($s);

Интерфейси за достъп



Perl
#!/usr/bin/perl -T
use warnings;
use strict;
use RPC::XML::Client;

my $url = 'http://www.google.com/';
my $request = RPC::XML::request->new('rixp.getmethods', RPC::XML::string->new($url));
my $client = RPC::XML::Client->new('http://localhost:444');

my $response = $client->simple_request($request);
print $response;

Интерфейси за достъп



Python
from xmlrpclib import Server
rixpcli = Server("http://localhost:444/")
print rixpcli.rixp.getMethods()

Интерфейси за достъп



Ruby
from xmlrpclib import Server
rixpcli = Server("http://localhost:444/")
print rixpcli.rixp.getMethods()

Интерфейси за достъп



Java
import org.apache.xmlrpc.XmlRpcClient;
import java.util.Vector;
public class rixpclient {
    public static void main( String args[] ) throws Exception {
        XmlRpcClient client = new XmlRpcClient( "http://localhost:444" );
        Vector params = new Vector();
        params.addElement("http://spisanie.com");
        Object result = client.execute( "rixp.getmethods", params );
        if ( result != null )
            System.out.println( result );
    }
}


Демонстрация?



Информация