首页 > 解决方案 > 卷曲响应不解码特殊字符

问题描述

我向 Api 发出 http 请求,但我的响应始终没有解码特殊字符。已经尝试添加 utf-8 内容类型并接受编码头,但它没有解决。

curl --location --request POST 'https://example.com/clients.json?api_key=12345678'  --header 'Content-Type: application/json;' --header 'Cookie: _makeover_app_ix_com_session=BAh7BzoPc2Vzc2lvbl9pZCIlZTQ5YWQyYTE0YjMyZTI0OTgwNmI5NjgxZmRkYzkxZTciCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhhc2h7BjoKZXJyb3IiRXXvbWUgbsOjbyBlc3TDoSBkaXNwb27DrXZlbC48YnIvPkNvbnRyaWJ1aW50ZSBuw6NvIMOpIHbDoWxpZG88YnIvPgY6CkB1c2VkewY7B1Q%3D--9cd818580f4d9c76ac84be57dfcc33436eda021e' --data-raw '{
  "client": {
    "name": "Customer name"
  }
}'

响应示例:

{"error":"Nome n\u00e3o est\u00e1 dispon\u00edvel."}

标签: apirestcurlencodingdecoding

解决方案


这些字符是 UTF-8 字符,但它们也使用 JSON / Javascript unicode 转义序列进行编码。

CURL 不会为您更改 HTTP 响应,但 JSON 解析器会知道如何处理它。如果您想在命令行上对此执行某些操作,您可能会喜欢该jq命令。

curl --location --request POST 'https://example.com/clients.json?api_key=12345678'  --header 'Content-Type: application/json;' --header 'Cookie: _makeover_app_ix_com_session=BAh7BzoPc2Vzc2lvbl9pZCIlZTQ5YWQyYTE0YjMyZTI0OTgwNmI5NjgxZmRkYzkxZTciCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhhc2h7BjoKZXJyb3IiRXXvbWUgbsOjbyBlc3TDoSBkaXNwb27DrXZlbC48YnIvPkNvbnRyaWJ1aW50ZSBuw6NvIMOpIHbDoWxpZG88YnIvPgY6CkB1c2VkewY7B1Q%3D--9cd818580f4d9c76ac84be57dfcc33436eda021e' --data-raw '{
  "client": {
    "name": "Customer name"
  }
}' | jq .



推荐阅读