深信服社区»版块 安全类 零信任aTrust code_util.encodeURIComponent如何使用

code_util.encodeURIComponent如何使用

查看数: 2075 | 评论数: 9 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-6-5 21:38

正文摘要:

如题,我想要自定义变量,需要用到urlencode 怎么调用这个函数呢,谁遇到过呢 我直接写code_util.只有四个方法,没有encodeURIComponent呢 暂时不想开远程,毕竟我们还没买设备呢。 ...

回复

51911 发表于 2020-6-19 08:49
不好意思,昨天晚上快8点了,开发大哥给解决方法了,我没看到,经过测试,非常完美。
----------------------------------

        const result = iconv.encode(Buffer.from(config.sms_content),'gb2312');
        const strHex = [];
        for (let i = 0; i < result.length; i++) {
                strHex.push(`%${result[i].toString(16)}`);
        }
        env.content = strHex.join('');

------------------------------------------------------------
这段代码就是把短信内容进行gb2312的urlencode编码了,在请求体使用{{env.content}}这个即可。

51911 发表于 2020-6-18 23:05
开发大哥还没搞定,估计是case小,O(∩_∩)O~
51911 发表于 2020-6-9 12:28
已经致电工程师,不过问题有点儿超纲,还要得找研发帮忙看看了。
51911 发表于 2020-6-8 12:07
本帖最后由 51911 于 2020-6-8 12:11 编辑

问题,我通过wireshark抓包,找到了原因。通过code_util.encodeURIComponent这个方法编码默认是UTF-8编码的,而我们的短信平台却是要求用GBK或gb2312编码的urlencode,这就出岔子了。
但是问题我不知道怎么什么额外参数,改变code_util.encodeURIComponent的默认编码格式。
我这样写,好像没什么作用
env.content = code_util.encodeURIComponent(result0,'gbk');
司马缸砸了光 发表于 2020-6-6 22:58
提示: 作者被禁止或删除 内容自动屏蔽
新手899116 发表于 2020-6-6 22:12
提示: 作者被禁止或删除 内容自动屏蔽
0010 发表于 2020-6-5 23:21
学习一下
51911 发表于 2020-6-5 21:39
我是想把短信模板内容进行urlencode,现在折中办法是先把短信内容手动urlencode,我是觉得不完美
社区智能服务_姣姣 发表于 2020-6-9 18:16
您好,问题解决之后可以发下解决方法,
PS:分享有S豆打赏哦