扫微信二维码广告语.docx
- 文档编号:3889005
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:5
- 大小:16.57KB
扫微信二维码广告语.docx
《扫微信二维码广告语.docx》由会员分享,可在线阅读,更多相关《扫微信二维码广告语.docx(5页珍藏版)》请在冰豆网上搜索。
扫微信二维码广告语
扫微信二维码广告语
各位读友大家好,此文档由网络收集而来,欢迎您下载,谢谢
微信扫描二维码登录网站代码示例
用户通过扫描网页提供的二维码实现登陆信息获取,大家参考使用吧请先下载snoopy类代码如下:
*微信公众平台PHP-SDK
*Wechatauth为非官方微信登陆API
*用户通过扫描网页提供的二维码实现登陆信息获取*主要实现如下功能:
*get_login_code()获取登陆授权码,通过授权码才能获取二维码*get_code_image($code=)将上面获取的授权码转换为图片二维码*verify_code()鉴定是否登陆成功,返回200为最终授权成功.*get_login_cookie()鉴定成功后调用此方法即可获取用户基本信息
*sendNews($account,$title,$summary,$content,$pic,$srcurl=)向一个微信账户发送图文信息*get_avatar($url)获取用户头像图片数据*@authordodge*@link*@version* */
include
private$cookie; private$_cookiename;
private$_cookieexpired=3600; private$_account=test;
private$_datapath=./data/cookie_; private$debug; private$_logcallback;
public$login_user;//当前登陆用户,调用get_login_info后获取
publicfunction__construct($options) {
$this->_account=isset($options)?
$options:
; $this->_datapath=
isset($options)?
$options:
$this->_datapath;
$this->debug=isset($options)?
$options:
false; $this->_logcallback=
isset($options)?
$options:
false;
$this->_cookiename=$this->_datapath.$this->_account; $this->getCookie($this->_cookiename); } /**
*把cookie写入缓存
*@paramstring$filename缓存文件名 *@paramstring$content文件内容 *@returnbool */
publicfunctionsaveCookie($filename,$content){ returnfile_put_contents($filename,$content); } /**
*读取cookie缓存内容
*@paramstring$filename缓存文件名 *@returnstringcookie */
publicfunctiongetCookie($filename){ if(file_exists($filename)){
$mtime=filemtime($filename);
if($mtime_cookieexpired)returnfalse; $data=file_get_contents($filename); if($data)$this->cookie=$data; }
return$this->cookie; }
/*
*删除cookie */
publicfunctiondeleteCookie($filename){ $this->cookie=; @unlink($filename); returntrue; }
privatefunctionlog($log){
if($this->debug&&function_exists($this->_logcallback)){ if(is_array($log))$log=print_r($log,true); returncall_user_func($this->_logcallback,$log); }
}
/**
*获取登陆二维码对应的授权码 */
publicfunctionget_login_code(){
if($this->_logincode)return$this->_logincode; $t=time().strval(mt_rand(100,999)); $codeurl=
https:
///jslogin?
appid=wx782c26e4c19acffb&redirect_uri=https%3A%2F%%2Fcgi-bin%2Fmmwebwx-bin%2Fwebwxnewloginpage&fun=new&lang=zh_CN&_=.$t; $send_snoopy=newSnoopy; $send_snoopy->fetch($codeurl); $result=$send_snoopy->results; if($result){
preg_match(
$this->_logincode=$matches; $_SESSION=0; return$this->_logincode; } }
return$result; } /**
*通过授权码获取对应的二维码图片地址 *@paramstring$code *@returnstringimageurl */
publicfunctionget_code_image($code=){
if($code==)$code=$this->_logincode; if(!
$code)returnfalse;
returnhttp:
///qrcode/.$this->_logincode.?
t=webwx; }
/**
*设置二维码对应的授权码 *@paramstring$code *@returnclass$this */
publicfunctionset_login_code($code){ $this->_logincode=$code; return$this; }
/**
*二维码登陆验证 *
*@returnstatus:
*>=400:
invaildcode;408:
notauthandwait,400,401:
notvalidorexpired *201:
justscanedbutnotconfirm *200:
confirmthenyoucangetuserinfo */
publicfunctionverify_code(){
if(!
$this->_logincode)returnfalse; $t=time().strval(mt_rand(100,999)); $url=
https:
///cgi-bin/mmwebwx-bin/login?
uuid=.$this->_logincode.&tip=1&_=.$t;
$send_snoopy=newSnoopy;
$send_snoopy->referer=
preg_match(
$status=intval($matches);
if($status==201)$_SESSION=1; if($status==200){
preg_match(
$this->log(step2:
.print_r($matches,true)); if(count($matches)>1){ $ticket=$matches; $scan=$matches; $loginurl=
https:
///cgi-bin/mmwebwx-bin/webwxnewloginpage?
ticket=.$ticket.&lang=zh_CN&scan=.$scan.&fun=new;
$send_snoopy=newSnoopy; $send_snoopy->referer=
$send_snoopy->fetch($loginurl); $this->log(step3:
.print_r($send_snoopy->headers,true));
foreach($send_snoopy->headersas$key=>$value){
$value=trim($value); if(strpos($value,Set-Cookie:
)!
==false){
$tmp=str_replace(
$tmp=str_replace(
$tmp=str_replace(
$cookie.=$tmp; } }
$cookie.=
return$status; } } returnfalse; }
/**
*获取登陆的cookie *
*@parambool$is_array是否以数值方式返回,默认否,返回字符串 *@returnstring|array */
publicfunctionget_login_cookie($is_array=false){ if(!
$is_array) return$this->cookie; $c_arr=explode(;,$this->cookie); $cookie=array();
foreach($c_arras$item){
$kitem=explode(=,trim($item)); if(count($kitem)>1){
$key=trim($kitem); $val=trim($kitem);
if(!
empty($val))$cookie=$val; } }
return$cookie; }
/**
* 授权登陆后获取用户登陆信息 */
publicfunctionget_login_info(){
if(!
$this->cookie)returnfalse; $t=time().strval(mt_rand(100,999)); $send_snoopy=newSnoopy;
$submit=https:
///cgi-bin/mmwebwx-bin/webwxinit?
r=.$t; $send_snoopy->rawheaders=$this->cookie; $send_snoopy->referer=
$this->log(login_info:
.$send_snoopy->results); $result=$send_snoopy->results,true); if($result_login_user=$result; return$result; }
/**
*获取头像
*@paramstring$url传入从用户信息接口获取到的头像地址 */
publicfunctionget_avatar($url){ if(!
$this->cookie)returnfalse; if(strpos($url,http)===false){ $url=http:
//$url; }
$send_snoopy=newSnoopy;
$send_snoopy->rawheaders=$this->cookie; $send_snoopy->referer=
$result=$send_snoopy->results; if($result)
return$result; else
returnfalse; }
/**
*登出当前登陆用户 */
publicfunctionlogout(){
if(!
$this->cookie)returnfalse;
preg_match(
preg_match(
https:
///cgi-bin/mmwebwx-bin/webwxlogout?
redirect=1&type=1; $send_snoopy->rawheaders=$this->cookie; $send_snoopy->referer=
$send_snoopy->submit($submit,array(uin=>$uid,sid=>$sid)); $this->deleteCookie($this->_cookiename); returntrue; }}
各位读友大家好,此文档由网络收集而来,欢迎您下载,谢谢
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 扫微信 二维码 广告语