0

我正在尝试与来自 vala 代码的传输 rpc 接口。当我发送请求时,响应显示“没有方法名称”。任何人都可以帮助阐明我要去哪里错了吗?为清楚起见,这主要是从官方 GNOME 示例中复制的。

size_t length;
string json;
Torrent[] torrents = {};

var msg = new Soup.Message("POST", path);

var gen = new Json.Generator ();
var root = new Json.Node(Json.NodeType.OBJECT);
var object = new Json.Object ();
root.set_object (object);
gen.set_root (root);

var args = new Json.Object ();
object.set_object_member ("arguments", args);
object.set_string_member ("method", "torrent-get");

var fields = new Json.Array ();
foreach (string s in std_fields)
    fields.add_string_element(s);
args.set_array_member ("fields", fields);

json = gen.to_data (out length);
msg.request_body.append_take ((uint8[])json);
msg.request_headers.append ("X-Transmission-Session-Id", sessionid);
session.send_message (msg);

print((string)msg.response_body.flatten().data);

session 是一个 SessionAsync 对象,如果这很重要的话。

4

0 回答 0