api - 卷曲响应不解码特殊字符
问题描述
我向 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."}
解决方案
这些字符是 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 .
推荐阅读
- java - 来自kafka流的context().headers()修改期间的异常标点调用
- python - 如何在 rmarkdown 块中导入和运行 python 文件?
- antd - 将鼠标悬停在 NG-ZORRO(Angular 的 antd)按钮周围时如何移除蓝色边框?
- c# - 读取当前 git commit hash 并将其保存到 unity c# 脚本中
- python - 如何创建这个循环?
- c - 在C中获取换行符的隐藏字符
- azure-active-directory - 如何从 ASP.NET Core 更新 Azure AD B2C 中的用户属性?
- excel - VBA sheet.activate 不会更改它从中获取信息的工作表
- c# - 使用自动布局约束时,Syncfusion SfRangeSlider 滑块和标签未正确对齐
- ruby-on-rails-6 - “架构中未找到环境数据。” 在 Rails 6 上重复调用黄瓜时使用数据库清理器