• 微信公众平台开发学习笔记


    TokenAccess_token

    Token:用来验证发送给公众账号服务器的信息是否来自微信后台

    Access_token:通过凭证接口获取到的凭证,保障微信后台接到的消息来自合法的公众账号服务器

    接口配置和用户消息处理

    *使用同一个URL来做用户消息处理和接口配置。

    接口配置:

      

    用户消息处理:

     

    获取POST数据

    [1:]$postData=$HTTP_RAW_POST_DATA

    *$HTTP_RAW_POST_DATA 包含 POST 提交原始数据的预定义变量

    PHP函数中不能访问全局变量,如把代码中获取POST数据语句封装成函数,需要使用以下方式获取:

    Aglobal $HTTP_RAW_POST_DATA//global关键字声明全局变量

    B$GLOBALS[‘HTTP_RAW_POST_DATA’] //使用$GLOBALS [超全局变量数组]

    [2:]$postData=file_get_contents(“php://input”);

        *php://input:可以访问请求原始数据的只读流,不依赖特定php.inienctype="multipart/form-data" 的时候 php://input 无效

    消息输出

    //输出消息XML模版

    $retTmp="<xml>

    <ToUserName><![CDATA[%s]]></ToUserName>

    <FromUserName><![CDATA[%s]]></FromUserName>

    <CreateTime>%s</CreateTime>

    <MsgType><![CDATA[text]]></MsgType>

    <Content><![CDATA[%s]]></Content>

    <FuncFlag>0</FuncFlag>

    </xml>";

    //对消息模版中通配符进行替换 %s表示string类型

    $resultStr=sprintf($retTmp,$val1,$val2,time(),$val3);

    使用CURL发送请求

    定义:CURL是一个强大的开源库,支持多种协议,包括HTTPFTPTELNET等;支持HTTPS;使用CURL发送HTTP请求时,可以通过选项灵活设置不同的HTTP协议参数。

    步骤:

    1)初始化连接句柄;

    2)设置CURL选项;

    3)执行并获取结果;

    4)释放CURL连接句柄。

    常用函数:

    [1:]Curl_init([string $url=NULL]):初始化一个新会话,返回一个cURL句柄,供curl_setopt()curl_exec()curl_close()函数使用。提供url参数时,CURLOPT_URL选项将会被设置成这个值,也可以使用curl_setopt()函数手动设置。

    [2:]curl_setopt(resource $ch,int $option,mixed $value):通过设定CURL函数库定义的选项来定制HTTP请求。

    选项示例:

    CURLOPT_URL:指定请求的URL

    CURLOPT_RETURNTRANSFER:设置为1表示稍后执行的curl_exec()函数返回结果是URL的返回字符串,而不是把返回字符串定向到标准输出并返回TRUE

    CURLOPT_HEADER:设置为0表示不返回HTTP头部信息。

    CURLOPT_TIMEOUT:设置超时限制,防止死循环

    CURLOPT_USERAGENT:在HTTP请求中包含一个“User-Agent”头的字符串

    CURLOPT_FOLLOWLOCATION:自动跳转

    CURLOPT_AUTOREFERER:当根据location重定向时自动设置headerreferer信息

    CURLOPT_COOKIEFILE:读取存储的cookie信息

    CURLOPT_SSL_VERIFYPEER:检查认证证书来源

    CURLOPT_SSL_VERIFYHOST:检查证书中SSL加密算法是否存在

    CURLOPT_HTTPGET:发送一个常规get请求

    CURLOPT_POST:发送一个常规post请求

    CURLOPT_POSTFIELDSpost提交的数据包

    [3:]curl_exec(resource $ch):执行CURL请求。返回值是对应URL返回的数据,以字符串表示,如发生错误,返回FALSE(===)
    [4:]curl_getinfo($opt):获取CURL请求输出的相关信息

    $opt设置后返回参数指定的信息[适用只需关注某些传输信息时]

    [5:]curl_close(resource $ch):关闭CURL连接

    *获取HTTP请求中的GETPOST参数的场景是公众账号服务器为被调用方

  • 相关阅读:
    NHibernate中session.update()及session.merge()的区别
    子序列 (All in All,UVa 10340)
    古老的密码 (Ancient Cipher,NEERC 2004,LA 3213)
    例题1 勇者斗恶龙 (The Dragon of Loowater,UVa 11292)
    HDU1869 六度分离
    B. T-primes
    PoJ 1595 PrimeCuts
    poj 3518 Prime Gap
    PKU1988磁铁
    求组合数
  • 原文地址:https://www.cnblogs.com/skye-blog/p/7704816.html
Copyright © 2020-2023  润新知