欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

调用微信企业号接口发送通报信息的PHP代码

程序员文章站 2024-04-04 23:17:53
...
调用微信企业号接口发送通知信息的PHP代码

我在研究用PHP调用微信企业号接口发送通知信息时,遇到了一个问题,就是汉字编码的问题。在用POST提交的数据如果是用数组型时,要先用json_encode将数组型数据转成josn字串,但数据中如果有汉字就会出现问题:json_encode不能序列化GB2312编码的汉字,若是UTF-8编码的汉字在用json_encode转换后也成了无法识别的乱码,微信企业号的接口也无法接收这些乱码。该怎么办呢?经过反复研究、反复调试终于找出了两种方法:

第一种方法(数组型数据):

1、将页面代码转存成UTF-8编码;

2、用urlencode将汉字编码;

?

3、用json_encode将数组型数据转成josn字串

4、用urldecode将josn字串型数据解码;

5、再将解码后的josn字串型数据发送给微信企业号接口即可。

?

第二种方法(字串型数据):

1、将页面代码转存成UTF-8编码;

2、将要传递的POST数据用字串拼接的型连接起来;

3、再将拼接好的字串型数据发送给微信企业号接口即可。

?

为了代码简单,我用了第二种方法,代码如下:

?

 $url,                        CURLOPT_HEADER  => 0,			CURLOPT_POST    => 1,            CURLOPT_POSTFIELDS      => $data,            CURLOPT_RETURNTRANSFER  => 1,            CURLOPT_TIMEOUT         => 20    );    $ssl = substr($url,0,8) == "https://" ? TRUE : FALSE;    if ($ssl){        $opt[CURLOPT_SSL_VERIFYHOST] = 1;        $opt[CURLOPT_SSL_VERIFYPEER] = FALSE;    }    curl_setopt_array($ch,$opt);    $data = curl_exec($ch);    curl_close($ch);    return $data;}$corpid="请修改为你企业号的corpid";$corpsecret="请修改为你企业号的corpsecret";$Url="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$corpid&corpsecret=$corpsecret";$res = curlPost($Url);$ACCESS_TOKEN=json_decode($res)->access_token;$Url="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$ACCESS_TOKEN";$msg='要发送的文字信息';$data="{\"touser\":\"要发给的用户ID\",\"msgtype\":\"text\",\"agentid\":你的应用ID,\"text\":{\"content\":\"$msg\"},\"safe\":0}";$res = curlPost($Url,$data);$errmsg=json_decode($res)->errmsg;if($errmsg==="ok"){	echo "发送成功!";}else{	echo "发送失败,".$errmsg;}?>

?

?

更多介绍:http://www.cnblogs.com/jisheng/archive/2012/02/13/2350040.html

?

?

调用微信企业号接口发送通报信息的PHP代码

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • 调用微信企业号接口发送通报信息的PHP代码
  • 专题推荐