ansible api执行远程脚本结果中文乱码报错

简介: ansible api执行远程脚本结果中文乱码报错

ansible api执行远程脚本:sh nfts/test/test.sh

报错:ERROR Internal Server Error

查看日志:docker logs -f --tail=100 ansible-api

File "/opt/py3/lib/python3.8/site-packages/rest_framework/renderers.py",line 110,in render return ret.encode()
UnicodeEncodeError:'utf-8' codec can't encode characters in position 323-334: surrogates not allowed
Task ansible_ui.tasks.run_adhoc_raw[] received
Start task: Ansible Ad-hoc

原因:执行脚本的远程服务器是gb2312编码,而ansible需要utf-8编码,所以在脚本执行完返回结果时ansible接收的结果是乱码,乱码转Unicode时报错。

解决:

在执行的脚本后 加 | iconv -f GBK -t UTF-8 (转脚本编码)

  • 命令行执行:
docker exec -it ansible-api bash
cd /opt/py3/bin
./ansible all -i 36.xx.xx.211, -u login_name(远程服务器) -k -m shell -a "cat /nfts/test/test.sh | iconv -f GBK -t UTF-8;date; sh nfts/test/test.sh | iconv -f GBK -t UTF-8" 
# -k 提示输入密码(目标机)
  • 任务和脚本执行
cat /nfts/test/test.sh | iconv -f GBK -t UTF-8
date
sh nfts/test/test.sh | iconv -f GBK -t UTF-8


相关文章
|
3天前
|
小程序 API 开发者
【产品上新】接口不报错=API成功接入?不妨“验”一下
【产品上新】接口不报错=API成功接入?不妨“验”一下
31 0
|
3天前
|
JSON JavaScript API
如何使用Newman 命令行的方式去运行API脚本?
如何使用Newman 命令行的方式去运行API脚本?
如何使用Newman 命令行的方式去运行API脚本?
|
3天前
|
敏捷开发 API
【sgCreateAPI】自定义小工具:敏捷开发→自动化生成API接口脚本(接口代码生成工具)
【sgCreateAPI】自定义小工具:敏捷开发→自动化生成API接口脚本(接口代码生成工具)
|
3天前
|
安全 网络安全 API
python调用openai api报错self._sslobj.do_handshake()OSError: [Errno 0] Error
python调用openai api报错self._sslobj.do_handshake()OSError: [Errno 0] Error
89 1
python调用openai api报错self._sslobj.do_handshake()OSError: [Errno 0] Error
|
3天前
|
监控 Java API
Spring cloud Hystrix 、Dashboard、API(zuul)相关报错
Spring cloud Hystrix 、Dashboard、API(zuul)相关报错
18 2
|
3天前
|
SQL JSON DataWorks
DataWorks操作报错合集之DataWorks报错显示API不存在,但这个API应该是有的,如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
34 2
|
3天前
|
分布式计算 DataWorks 关系型数据库
DataWorks操作报错合集之在DataWorks同步数据时,遇到乱码问题,该怎么解决(rest api数据源)
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
24 0
|
3天前
|
存储 缓存 运维
DataWorks操作报错合集之DataWorks根据api,调用查询文件列表接口报错如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
25 1
|
3天前
|
缓存 Serverless API
Serverless 应用引擎操作报错合集之阿里函数计算中出现关于“FC environment variables [FC_RuntIME_API] are not defined exit status 1”的报错如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
29 3
|
3天前
|
API Android开发
Android Framework增加API 报错 Missing nullability on parameter
Android Framework增加API 报错 Missing nullability on parameter
15 1