我想知道如何使用C#进行以下HTTP调用。
http://user:pass@localhost:8080/jsonrpc?request={"jsonrpc":"2.0","method":"VideoLibrary.Scan"}
当我将此网址直接粘贴到我的浏览器中(并替换用户凭据和服务器位置)时,它会按预期工作(我的XBMC视频库已更新)。它特别涉及此页面上的HTTP方法:
http://wiki.xbmc.org/index.php?title=HOW-TO:Remotely_update_library
我想知道如何使用C#通过HTTP进行同样成功的调用。
答案 0 :(得分:3)
使用此:
using (var webClient = new WebClient())
{
var response = webClient.UploadString("http://user:pass@localhost:8080/jsonrpc", "POST", json);
}
答案 1 :(得分:1)
@Ganesh
我一直收到HTTP 401 Unauthorized消息,直到我添加了对网络凭据的引用(使用http://username:password@server:port只是对我不起作用)
using (var webClient = new WebClient())
{
// Required to prevent HTTP 401: Unauthorized messages
webClient.Credentials = new NetworkCredential(username, password);
// API Doc: http://kodi.wiki/view/JSON-RPC_API/v6
var json = "{\"jsonrpc\":\"2.0\",\"method\":\"GUI.ShowNotification\",\"params\":{\"title\":\"This is the title of the message\",\"message\":\"This is the body of the message\"},\"id\":1}";
response = webClient.UploadString($"http://{server}:{port}/jsonrpc", "POST", json);
}