微信開發1 (接入微信)
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
$wechatObj->run();
class wechatCallbackapiTest
{
public function run()
{
if($this->checkSignature()==false){
die('非法請求');
}
if(isset($_GET["echostr"])){
$echoStr = $_GET["echostr"];
echo $echoStr;
exit;
}
else{
$this->responseMsg();
}
// $echoStr = $_GET["echostr"];
// //valid signature , option
// if($this->checkSignature()){
// echo $echoStr;
// exit;
// }else{
// $this->responseMsg();
// }
}
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();
$textTpl = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>0</FuncFlag>
</xml>";
if(!empty( $keyword ))
{
$msgType = "text";
$contentStr = "Welcome to wechat world!";
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultStr;
}else{
echo "Input something...";
}
}else {
echo "";
exit;
}
}
private function checkSignature()
{
if(!isset($_GET["signature"]) || !isset($_GET["timestamp"]) || !isset($_GET["nonce"]))
{
return false;
}
$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;
}
}
}
第一步:填寫伺服器配置
第二步:驗證訊息的確來自微信伺服器
第三步:依據介面文件實現業務邏輯
相關文章
- 微信公眾號Java開發記錄(一)接入Java
- 微信公眾號開發教程(一) 驗證接入
- 微信開發 微信支付
- 微信小遊戲開發(1)遊戲開發
- 微信小程式接入LeanCloud微信小程式Cloud
- 微信小程式直播接入微信小程式
- Senparc.Weixin微信開發(1) 開發驗證
- 微信開發
- (1)php微信開發之符號表情PHP符號
- C#微信公眾號開發系列教程二(新手接入指南)C#
- PHP接入微信支付分PHP
- 微信 WCDB for Android 的接入Android
- 在swift中接入微信開源庫MarsSwift
- 微信支付開發
- Node微信開發
- java 微信開發Java
- 微信開發 webWeb
- 微信小程式開發教程-從零開始(1)微信小程式
- 微信開發之微信域名防封介面
- 微信開發-微信網頁開發-授權多次回撥網頁
- 微信小程式開發:接入阿里雲人像動漫化api介面微信小程式阿里API
- 微信小程式開發跳坑(1-50)微信小程式
- 微信小程式支付接入實戰微信小程式
- 微信開發:清除微信瀏覽器快取瀏覽器快取
- 西安微信開發方案
- PHP微信支付開發PHP
- 關於微信開發
- 微信小程式開發微信小程式
- 微信卡券開發
- 微信開發總結
- 微信開發:歷程
- php開發微信demoPHP
- uni-app微信公眾號web JS-SDK開發之一接入APPWebJS
- 微信小程式開發:非同步處理接入的生成式影像卡通化微信小程式非同步
- Flutter開發實戰 高仿微信(1)首頁Flutter
- 怎麼免費註冊微信小程式-微信小程式開發-視訊教程1微信小程式
- 微信開發系列之一 - 微信公眾號開發的開發環境搭建開發環境
- 手把手教你接入微信支付