热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

仿腾讯新闻网动态获取数据

<?php***wechatphptest*defineyourtokendefine("TOKEN"
/**
  * wechat php test
  */


//define your token
define("TOKEN", "chuliabc");
$wechatObj = new wechatCallbackapiTest();
$wechatObj->responseMsg();
//$wechatObj->valid();


class wechatCallbackapiTest
{
public function valid()
    {
        $echoStr = $_GET["echostr"];


        //valid signature , option
        if($this->checkSignature()){
        echo $echoStr;
        exit;
        }
    }


    public function responseMsg()
    {
//get post data, May be due to the different environments
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];


      //extract post data
if (!empty($postStr)){
                
              $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
                $fromUsername = $postObj->FromUserName;
                $toUsername = $postObj->ToUserName;
                $keyword = trim($postObj->Content);
                $time = time();
                $event = $postObj->Event;
                $textTpl = "


%s


0
";               


                switch ($postObj->MsgType) {
                    case 'event':
                        if ($event == 'subscribe') {
                            $cOntentStr= "welcome 每学网 菜单如下 \r\n\r\n  输入 新闻 返回新闻条目";
                            $msgType = 'text';
                            //把格式化的数据写入某个字符串
                            $textTpl = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType,$contentStr);
                            echo $textTpl;


                        }
                        break;
                    case 'text':
                        if ($keyword=='新闻') {


                            //链接数据库
                            $con = mysql_connect('localhost','a0401140227','64326237');
                            mysql_select_db('a0401140227',$con);
                            mysql_query('SET NAMES UTF8');
                            $sql = "SELECT title,description,pic,url FROM weixin LIMIT 0,10";
                            //踩过坑 desc用不了
                            $result = mysql_query($sql);
                            $newsHeader = "
                                       
                                       
                                        %s
                                       
                                        %s
                                        ";
                            $newsCOntent="
                                         
                                       
                                       
                                       
                                       
";
                            $newsFooter="

                                           
";
                            $itemCount = 0;
                            while ($row = mysql_fetch_assoc($result)){
                                  $contentStr .=sprintf($newsContent,$row['title'],$row['desc'],$row['pic'],$row['url']);
                                  ++$itemCount;
                            }  
                            $newsHeader = sprintf($newsHeader,$fromUsername,$toUsername,$time,$itemCount);
                            $newsTpl = $newsHeader.$contentStr.$newsFooter;
                            echo $newsTpl;
                            // $result = sprintf($newsTpl, $fromUsername, $toUsername, $time, $title1,$des1,$pic1,$url1,$title2,$des2,$pic2,$url2);    
                            // echo $result;   
                        }
                        break;
                    default:
                       
                        break;
                }


                //file_put_contents('abcd.text', $row.'======'.$event.'==='.$toUsername.'==='.$keyword,FILE_APPEND);
                //如果用户输入不为空                      
// if(!empty( $keyword ))
    //             {
    //           $msgType = "text";
    //                 if($keyword == 'OK'){
    //                     $cOntentStr= "Hello 每学网!!!";
    //                 }else{
    //                     //返回的内容是"Welcome to wechat world!"
    //                     //$cOntentStr= "Welcome to wechat world!";
    //                     preg_match('/(\d+)([+-])(\d+)/i', $keyword,$res);
    //                     if($res[2] == '+'){
    //                         $a = $res[1] + $res[3];
    //                     }else if($res[2] == '-'){
    //                         $a = $res[1] - $res[3];
    //                     }else if($res[2] == '*'){
    //                         $a = $res[1] * $res[3];
    //                     }else{
    //                         $a = $res[1] / $res[3];
    //                     }
    //                     $cOntentStr= "Welcome to wechat world!".$a;
    //                 }                   
    //                 //填充模版
    //             $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
    //             echo $resultStr;
    //             }else{
    //             echo "Input something...";
    //             }


        }else {
        echo "";
        exit;
        }
    }

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 ){
return true;
}else{
return false;
}
}
}


?>
推荐阅读
  • ZABBIX 3.0 配置监控NGINX性能【OK】
    1.在agent端查看配置:nginx-V查看编辑时是否加入状态监控模块:--with-http_stub_status_module--with-http_gzip_stat ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • C# 7.0 新特性:基于Tuple的“多”返回值方法
    本文介绍了C# 7.0中基于Tuple的“多”返回值方法的使用。通过对C# 6.0及更早版本的做法进行回顾,提出了问题:如何使一个方法可返回多个返回值。然后详细介绍了C# 7.0中使用Tuple的写法,并给出了示例代码。最后,总结了该新特性的优点。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • 本文介绍了一种在PHP中对二维数组根据某个字段进行排序的方法,以年龄字段为例,按照倒序的方式进行排序,并给出了具体的代码实现。 ... [详细]
  • 使用圣杯布局模式实现网站首页的内容布局
    本文介绍了使用圣杯布局模式实现网站首页的内容布局的方法,包括HTML部分代码和实例。同时还提供了公司新闻、最新产品、关于我们、联系我们等页面的布局示例。商品展示区包括了车里子和农家生态土鸡蛋等产品的价格信息。 ... [详细]
  • Ihaveaworkfolderdirectory.我有一个工作文件夹目录。holderDir.glob(*)>holder[ProjectOne, ... [详细]
  • 使用C++编写程序实现增加或删除桌面的右键列表项
    本文介绍了使用C++编写程序实现增加或删除桌面的右键列表项的方法。首先通过操作注册表来实现增加或删除右键列表项的目的,然后使用管理注册表的函数来编写程序。文章详细介绍了使用的五种函数:RegCreateKey、RegSetValueEx、RegOpenKeyEx、RegDeleteKey和RegCloseKey,并给出了增加一项的函数写法。通过本文的方法,可以方便地自定义桌面的右键列表项。 ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • STM32 IO口模拟串口通讯
    转自:http:ziye334.blog.163.comblogstatic224306191201452833850647前阵子,调项目时需要用到低波 ... [详细]
  • PHP中的curl_multi系列函数可以实现同时请求多个URL来实现并发,而不是像普通curl函数那样请求后会阻塞,直到结果返回才进行下一个请求。因此在批量请求URL时可通过curl_multi系列函数提升程序的运行效率。curl普通请求$startT ... [详细]
author-avatar
郭倩尔偏执起来不是人_
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有