小编Fra*_*ell的帖子

为什么我在此cURL调用中的请求正文中出现格式错误的JSON?

我一直试图使用他们自己的文档中提供的示例来调用CloudFlare API v4.

这是示例的代码

curl -X PUT "https://api.cloudflare.com/client/v4/zones/023e105f4ecef8ad9ca31a8372d0c353/dns_records/372e67954025e0ba6aaa6d586b9e0b59" \ -H "X-Auth-Email: user@example.com" \ -H "X-Auth-Key: c2547eb745079dac9320b638f5e225cf483cc5cfdda41" \ -H "Content-Type: application/json" \ --data '{"id":"372e67954025e0ba6aaa6d586b9e0b59","type":"A","name":"example.com","content":"1.2.3.4","proxiable":true,"proxied":false,"ttl":120,"locked":false,"zone_id":"023e105f4ecef8ad9ca31a8372d0c353","zone_name":"example.com","created_on":"2014-01-01T05:20:00.12345Z","modified_on":"2014-01-01T05:20:00.12345Z","data":{}}'
Run Code Online (Sandbox Code Playgroud)

这也可以在更新DNS记录中找到

使用Windows cmd.exe运行此命令,我需要首先使它成为单行,所以我删除了"\"并重新格式化它(两次),确保我在过程中没有改变任何部分.

这是一行中的相同代码:

curl -X PUT "https://api.cloudflare.com/client/v4/zones/023e105f4ecef8ad9ca31a8372d0c353/dns_records/372e67954025e0ba6aaa6d586b9e0b59" -H "X-Auth-Email: user@example.com" -H "X-Auth-Key: c2547eb745079dac9320b638f5e225cf483cc5cfdda41" -H "Content-Type: application/json" --data '{"id":"372e67954025e0ba6aaa6d586b9e0b59","type":"A","name":"example.com","content":"1.2.3.4","proxiable":true,"proxied":false,"ttl":120,"locked":false,"zone_id":"023e105f4ecef8ad9ca31a8372d0c353","zone_name":"example.com","created_on":"2014-01-01T05:20:00.12345Z","modified_on":"2014-01-01T05:20:00.12345Z","data":{}}'
Run Code Online (Sandbox Code Playgroud)

当我在cmd中运行这个单行程序时,它可以工作,但我在请求正文中得到格式错误的JSON,但是,目视检查,记事本++上的格式化以及通过JSON验证程序运行都是正面的,这个JSON(从CloudFlare文档中复制) )没有畸形.

错误信息

{"success":false,"errors":[{"code":6007,"message":"Malformed JSON in request body"}],"messages":[],"result":null}
Run Code Online (Sandbox Code Playgroud)

谷歌搜索此错误消息或错误代码没有给我任何东西,这个相同的命令适用于运行我老板的Linux的电脑.

有人可以告诉我,如果这是一个已知的错误,如果JSON真的是格式错误或者是否有其他想法?

谢谢

dns json curl cloudflare

10
推荐指数
1
解决办法
2万
查看次数

标签 统计

cloudflare ×1

curl ×1

dns ×1

json ×1