Bonjour à tous,

Je souhaiterai communiquer avec un serveur RTorrent en utilisant le protocole XMLRPC.

Pour ce faire, j'ai trouvé des sources ici: https://github.com/corristo/xmlrpc plutôt bien faite.

Dans mon projet xcode, je communique vers mon serveur rTorrent en deux étapes:
1- Authentification avec des identifiants (qui semble bien fonctionner)
2- Envoi de requête qui marche moins bien... je m'explique:
Pour ne pas refaire la lune, j'ai réutilisé un exemple de code à l'endroit ou j'ai trouvé les sources (voir ci-dessus)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
NSURL *URL = [NSURL URLWithString: @"http://monServeur/"];  
XMLRPCRequest *request = [[XMLRPCRequest alloc] initWithURL: URL];
XMLRPCConnectionManager *manager = [XMLRPCConnectionManager sharedManager];
 
[request setMethod: @"system.library_version"];
 
NSLog(@"Request body: %@", [request body]);
 
[manager spawnConnectionWithXMLRPCRequest: request delegate: self];
 
[request release];
J'envoie la méthode "system.library_version" qui doit me donner les différentes versions serveur (voir doc http://libtorrent.rakshasa.no/wiki/RTorrentCommands)

D'ici, ma requètte s'envoie en XML correctement:

Log;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
2013-12-27 13:36:44.035 DBX_XMLRPC2[2962:303] Request body: <?xml version="1.0"?><methodCall><methodName>system:library_version</methodName><params></params></methodCall>
2013-12-27 13:36:44.036 DBX_XMLRPC2[2962:303] The connection, 036F9D84-4817-4701-B00B-3CCF5AB0CF20, has been established!
Donc jusqu'ici, tout va bien.. MAIS le serveur me renvoie une réponse en HTML:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
	<head>
		<title></title>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" /> 
		<meta http-equiv="cache-control" content="no-cache" />
		<link href="./favicon.ico" rel="SHORTCUT ICON" />
		<link href="./css/stable.css" rel="stylesheet" type="text/css" />
		<style type="text/css">
[...]


Surtout que j'ai l'impression qu'il me revoie l'interface web...

Donc je voulais savoir si quelqu'un avait déjà travaillé sur ce type de protocole et surtout comment faire pour que le serveur me réponde en XML aux requêtes que je lui envoie?


Merci d'avance pour vos réponses et vos idées.