python | 解决企业微信机器人接口发送文本消息中文乱码的问题

10 篇文章 0 订阅
10 篇文章 0 订阅

调用企业微信机器人发通知,中文乱码
在这里插入图片描述
解决方案:

json.dumps(datas)
修改为
json.dumps(datas, ensure_ascii=False).encode('utf-8')

在这里插入图片描述


企业微信机器人通知源码如下:

# -*- coding:utf-8 -*-

'''
Description: 上报到企业微信群
Author: faith
Date: 2020-12-17 15:00:40
FilePath: \tools\jenkins\deploy\shell\deploy_stage_auto_reporter\notice.py
LastEditors: faith
LastEditTime: 2020-12-18 11:14:27
'''

import json
#import time
import urllib2
import sys
#import os

defaultencoding = 'utf-8'
if sys.getdefaultencoding() != defaultencoding:
    reload(sys)
    sys.setdefaultencoding(defaultencoding)

print(sys.argv)
print("auto reporter the state of updation")
region = sys.argv[1]
region = region.lower()
action = sys.argv[2]
thirdparam = ""
if len(sys.argv) > 3:
    thirdparam = sys.argv[3]
    thirdparam = thirdparam.encode('utf8')

print("input:", region, action, thirdparam)

desc_region={"test":u"测试" }
desc_action={
"test_info":u"这是一个测试"}
addr_list={"tets":"https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=111",}
mention_list={
 "test":"testman",
}
d = { 'msgtype' : 'text', 'text': { } }

if d['text'].has_key('mentioned_list'):
    del d['text']['mentioned_list']

if len(thirdparam) > 0:
    msg = desc_region[region] + thirdparam  +  desc_action[action]
else:
    msg = desc_region[region] + desc_action[action]

d['text']['content'] = msg
d['text']['mentioned_list'] = mention_list[region]
print("reporter info:",d)
req = urllib2.Request(addr_list[region])
res = urllib2.urlopen(req, json.dumps(d, ensure_ascii=False).encode('utf-8'))
print("reporter rlt:", res.read())

调用方式:

python notice.py test test_info
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值