尽管正在发送参数,但 JSON API 返回错误

查理

我正在使用 PHP向 JSON API 系统(http://help.solarwinds.com/backup/documentation/Content/service-management/json-api/login.htm发送请求

$base = 'https://cloudbackup.management/jsonapi';

$vars = array(
    "jsonrpc" => "2.0",
    "method" => "Login",
    "params" => array(
        "partner" => "partner",
        "username" => "username",
        "password" => "pass",
    ),
    "id" => "1",
);

$ch = curl_init( $base );
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $vars);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);

$output = json_decode($response, true);

但它返回这个数组 $output

Array
(
    [error] => Array
        (
            [code] => -32700
            [data] => 119
            [message] => Parse error: Failed to parse request body: * Line 1, Column 1
  '--------------------------' is not a number.

        )

    [id] => jsonrpc
    [jsonrpc] => 2.0
)

我无法弄清楚为什么它会返回错误,因为我正在发送它在文档中所说的正确参数。

有人可以指出我正确的方向还是我错过了什么?

肖恩·墨菲

将内容类型设置为 application/json 因为 curl 可能默认将其发送为 x-www-form-urlencoded

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); 

还对您的数组进行 JSON 编码:

$jsonDataEncoded = json_encode($vars);

完整重构示例:

$base = 'https://cloudbackup.management/jsonapi';

$vars = array(
    "jsonrpc" => "2.0",
    "method" => "Login",
    "params" => array(
        "partner" => "partner",
        "username" => "username",
        "password" => "pass",
    ),
    "id" => "1",
);

$jsonDataEncoded = json_encode($jsonData);
$ch = curl_init( $base );
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonDataEncoded);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); 
$response = curl_exec($ch);
curl_close($ch);

$output = json_decode($response, true);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

WordPress JSON API仅返回404错误

来自分类Dev

Web API错误处理返回json

来自分类Dev

Python-Spotify API返回错误400“格式错误的JSON”

来自分类Dev

JSON返回并带有参数错误

来自分类Dev

Web API以错误的格式发送JSON对象

来自分类Dev

Google API Distancematrix在VBA中返回错误的json结果

来自分类Dev

在Akka-http API中返回JSON错误

来自分类Dev

如何使Laravel返回JSON REST API的自定义错误

来自分类Dev

从Asp.Net MVC 6 API返回JSON错误

来自分类Dev

API Twitter控制台返回错误的JSON

来自分类Dev

尽管请求JSON,但Dynamic 365 API仅返回XML

来自分类Dev

尽管请求JSON,但Dynamic 365 API仅返回XML

来自分类Dev

尽管请求JSON,但Dynamic 365 API仅返回XML

来自分类Dev

尽管请求JSON,但Dynamic 365 API仅返回XML

来自分类Dev

Kafka Connect正在发送格式错误的json

来自分类Dev

尽管 json 提供了错误的数据,但从 API 中获取内容

来自分类Dev

Mailchimp API发送呼叫返回Campaign_EgpPrediction错误

来自分类Dev

Google Cloud Storage JSON API:批量删除返回未知错误(500内部服务器错误)

来自分类Dev

使用 Json 和 AJAX 在 Web API 中返回错误的请求错误

来自分类Dev

为什么Etrade API返回缺少的参数错误?

来自分类Dev

Microsoft Dynamics REST API $filter 参数返回 400 错误

来自分类Dev

Rails JSON API参数验证和错误响应

来自分类Dev

Rails JSON API参数验证和错误响应

来自分类Dev

使用ajax将JSON发送到操作时,参数为null(返回内部服务器错误500)

来自分类Dev

为 json 返回 api 自定义烧瓶错误处理程序

来自分类Dev

Shopify GraphQL 使用 fetch API,返回空的 json,没有错误

来自分类Dev

WordPress的JSON API返回混乱

来自分类Dev

Wordpress API JSON返回限制

来自分类Dev

无法解码从API返回的JSON

Related 相关文章

  1. 1

    WordPress JSON API仅返回404错误

  2. 2

    Web API错误处理返回json

  3. 3

    Python-Spotify API返回错误400“格式错误的JSON”

  4. 4

    JSON返回并带有参数错误

  5. 5

    Web API以错误的格式发送JSON对象

  6. 6

    Google API Distancematrix在VBA中返回错误的json结果

  7. 7

    在Akka-http API中返回JSON错误

  8. 8

    如何使Laravel返回JSON REST API的自定义错误

  9. 9

    从Asp.Net MVC 6 API返回JSON错误

  10. 10

    API Twitter控制台返回错误的JSON

  11. 11

    尽管请求JSON,但Dynamic 365 API仅返回XML

  12. 12

    尽管请求JSON,但Dynamic 365 API仅返回XML

  13. 13

    尽管请求JSON,但Dynamic 365 API仅返回XML

  14. 14

    尽管请求JSON,但Dynamic 365 API仅返回XML

  15. 15

    Kafka Connect正在发送格式错误的json

  16. 16

    尽管 json 提供了错误的数据,但从 API 中获取内容

  17. 17

    Mailchimp API发送呼叫返回Campaign_EgpPrediction错误

  18. 18

    Google Cloud Storage JSON API:批量删除返回未知错误(500内部服务器错误)

  19. 19

    使用 Json 和 AJAX 在 Web API 中返回错误的请求错误

  20. 20

    为什么Etrade API返回缺少的参数错误?

  21. 21

    Microsoft Dynamics REST API $filter 参数返回 400 错误

  22. 22

    Rails JSON API参数验证和错误响应

  23. 23

    Rails JSON API参数验证和错误响应

  24. 24

    使用ajax将JSON发送到操作时,参数为null(返回内部服务器错误500)

  25. 25

    为 json 返回 api 自定义烧瓶错误处理程序

  26. 26

    Shopify GraphQL 使用 fetch API,返回空的 json,没有错误

  27. 27

    WordPress的JSON API返回混乱

  28. 28

    Wordpress API JSON返回限制

  29. 29

    无法解码从API返回的JSON

热门标签

归档