簡體   English   中英

XBMC API在PHP中使用curl獲取請求

[英]XBMC api get request in php with curl

我正在嘗試對PHP中的XBMC api進行GET請求,但我無法使其正常工作。 我已經有一個有效的網址,當我使用REST客戶端模擬GET請求時,它們可以正常工作。

http://localhost:8085/jsonrpc?request={"jsonrpc": "2.0", "id": 1, "method": "Input.ExecuteAction", "params": {"action":"left"}}

當我模擬POST時,我從xbmc收到一個解析錯誤:

{
"error": {
    "code": -32700,
    "message": "Parse error."
},
    "id": null,
    "jsonrpc": "2.0"
}

這是我目前擁有的代碼:

<?php
    $jsonString = "{\"jsonrpc\": \"2.0\", \"id\": 1, \"method\": \"Input.ExecuteAction\", \"params\": {\"action\":\"left\"}}";
    $url = "http://localhost:8085/jsonrpc?request=".$jsonString;

    get($url);

    function get($url){
        $ch = curl_init();

        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT , 7);

        $result = curl_exec($ch);
        print $result;
        curl_close($ch);
   }

但這不會完成工作,就像我模擬POST請求時一樣,會返回解析錯誤。 所以我的想法是我正在執行POST請求,對嗎? 如果沒有,那會是什么問題?

我只是遇到了同樣的問題。 您需要對用於XBMC的URL進行編碼(當今的Kodi)。 因此,在您的情況下:

$jsonString

應該替換為

urlencode($jsonString)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM