2016-11-12 5 views
0

XBMCで 'ライブラリの更新'コマンドを実行するスクリプトを作成しようとしています。PythonスクリプトからXBMCライブラリを更新する

私が実行しようとすると:

url = 'http://root:[email protected]%IP_ADDRESS%:12345/jsonrpc?request={"jsonrpc": "2.0", "method": "VideoLibrary.Scan"}' 
r = requests.get(url) 

私は、ライブラリが更新されていることがわかりますが、私は次のエラーを取得しています:

Traceback (most recent call last): 
    File "<input>", line 2, in <module> 
    File "C:\Python27\lib\site-packages\requests\api.py", line 70, in get 
    return request('get', url, params=params, **kwargs) 
    File "C:\Python27\lib\site-packages\requests\api.py", line 56, in request 
    return session.request(method=method, url=url, **kwargs) 
    File "C:\Python27\lib\site-packages\requests\sessions.py", line 475, in request 
    resp = self.send(prep, **send_kwargs) 
    File "C:\Python27\lib\site-packages\requests\sessions.py", line 596, in send 
    r = adapter.send(request, **kwargs) 
    File "C:\Python27\lib\site-packages\requests\adapters.py", line 473, in send 
    raise ConnectionError(err, request=request) 
ConnectionError: ('Connection aborted.', BadStatusLine("''",)) 

私はにコードを変更しようとしています:

url = 'http://root:[email protected]%IP_ADDRESS%:12345/jsonrpc?' 
    data = json.dumps({"request": {"jsonrpc": "2.0", "method": "VideoLibrary.Scan"}}) 
    r = requests.get(url, params=data) 

しかし、動作していないようです。つまり、ライブラリが更新されていません。

私は間違っていますか?

答えて

2

URLに「root」とは誰ですか?すべてが非常に簡単です:

url = 'http://libreelec:12345/jsonrpc' 
data = {"jsonrpc": "2.0", "method": "VideoLibrary.Scan", "id": "1"} 
r = requests.post(url, json=data) 

/jsonエンドポイントが同様にPOSTを受け入れ、そしてrequest.postはあなたのための適切なJSONリクエストにdictを処理します。

+0

私はまだ同じ結果を得ていますが、XBMCライブラリは更新されており、エラーメッセージも表示されます。何か案は? –

+0

"id"パラメータ(盲目的にあなたの投稿のJSONをコピー貼り付け)について忘れました。 JSONのペイロードは正しいですが、私はKodiの設定(Kodiのリモート制御を有効にする必要があります)やJSON-RPCエンドポイントのアドレスなど、他の部分については説明できません。あなたはそれらを自分で確認する必要があります。 –

関連する問題