首页
友人帐
留言板
关于
Search
1
IDE Eval Resetter:JetBrains 全家桶无限试用插件
378 阅读
2
影视资源采集站收录大全
302 阅读
3
linux安装或升级protoc
223 阅读
4
VFM 3.7.5 源码 - 一个极简的 PHP 私人云盘!
161 阅读
5
批量采集美女写真等图片做图片站
149 阅读
谈天说地
程序源码
技术教程
成品源码
登录
Search
标签搜索
PHP
linux
源码
go
windows
centos
原创
mysql
微信
激活
采集
宝塔
绿色版
API
解析
SDK
图片
破解
域名
html
云青
累计撰写
150
篇文章
累计收到
78
条评论
首页
栏目
谈天说地
程序源码
技术教程
成品源码
页面
友人帐
留言板
关于
搜索到
3
篇与
的结果
2021-03-03
微活码管理系统
微活码系统 微信群满100人以后,就不能扫描二维码入群了怎么办? 用活码就能完美解决这个问题。 使用微信群活码工具,二维码永不过期,不受100人限制,对外统一宣传一个固定的二维码,后台可以随时更换群二维码。 每天海量流量。轻轻松松一天加满上百个群! 什么是微信活码? 在我们平台创建一个活码二维码,然后在这个活码后台上传多张你的群二维码,用户扫描活码,就会分配给他一张群二维码。 用户扫描100次(也可以自定义)后自动切换到下一张群二维码! 微信群裂变利器,不受100人扫码限制 微信群营销推广只需一个固定的群活码,多个群二维码自动轮换,每进群100人自动换新群,所有人都可通过扫码进群,快速裂变。永不过期! 个人号营销不受被动加好友数量限制 个人号营销推广只需一个固定不变的客服码,多个微信个人号二维码自动轮换,不受每天被动加好友人数限制,提升推广效率 多维度的数据统计分析,实现精准营销 提供数据统计报告! 提供精美的分析报告,让你的微信营销数据化! 自定义域名 绑定自己的独立域名,增强品牌识别度,降低被封的风险!微信防封等功能售价 3200个人版开源地址 https://gitee.com/anderyly/HuoMaGe图片预览
2021年03月03日
54 阅读
2 评论
0 点赞
2020-10-25
监控微信个人二维码是否打开
因为项目需求 监控微信个人二维码是否打开思路:微信官方并没有提供这个API,经过二维码识别提取到了一个https链接,此类链接微信以及浏览器打开则指向微信官网地址,此思路pass经过一系列的各种关键字Google到 html5有触摸事件解决方案:给img标签添加touchstart touchmove touchend这三个事件,以此监控img标签所活动状态,此方法不能准确使用,只能获取大概 <img id="qrcode" src="/qr/{{:base64_encode($url)}}" ontouchstart="gtouchstart(this)" ontouchmove="gtouchmove(this)" ontouchend="gtouchend(this)"> <script type="text/javascript"> var localqid = localStorage.getItem("localqid"); var qid = "{{$qid}}"; if(null == localqid || '' == localqid) { localStorage.setItem("localqid",qid); // $.ajax({url:"{{:url('plus')}}?id="+qid}); }else if(localqid != qid ){ localStorage.setItem("localqid",qid); // $.ajax({url:"{{:url('plus')}}?id="+qid}); } var timeOutEvent=0; function gtouchstart(obj){ timeOutEvent = setTimeout("longPress()",300); return false; }; function gtouchend(obj){ clearTimeout(timeOutEvent); return false; }; function gtouchmove(obj){ clearTimeout(timeOutEvent); timeOutEvent = 0; }; function longPress(){ timeOutEvent = 0; $("#qrcode").attr('ontouchend',''); $("#qrcode").attr('ontouchmove',''); $("#qrcode").attr('ontouchstart',''); if(null == localqid || '' == localqid){ localStorage.setItem("touch"+qid,"touch"); $.ajax({url:"{{:url('plus')}}?id="+qid}); }else if(localqid != qid ){ localStorage.setItem("touch"+qid,"touch"); $.ajax({url:"{{:url('plus')}}?id="+qid}); }else{ var touch = localStorage.getItem("touch"+qid); if(null == touch || '' == touch){ localStorage.setItem("touch"+qid,"touch"); $.ajax({url:"{{:url('plus')}}?id="+qid}); } } } </script>
2020年10月25日
22 阅读
0 评论
0 点赞
2019-04-22
PHP实现微博登入(非开放平台)
用到官方的两个接口,一个是获取图片地址以及qrid,一个是用qrid验证二维码状态获取新浪登入二维码 public function getqrpic() { $url = "https://login.sina.com.cn/sso/qrcode/image?entry=weibo&size=180&callback=STK_" . $this->getTime(); $header = [ 'Accept:' => '*/*', 'Accept-Encoding:' => 'gzip, deflate, br', 'Accept-Language:' => 'en-US,en;q=0.9', 'Connection:' => 'keep-alive', 'Cookie:' => 'mm_lang=en; mm_lang=en', 'Host:' => 'login.wx.qq.com', 'Referer:' => 'https://wx.qq.com/', 'User-Agent:' => 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36' ]; $res = Curl::url($url)->setHeader($header)->get(); $regex = "#window(.*?)\(#"; $resArr = json_decode(rtrim(rtrim(preg_replace($regex, "", $res), ';'), ')'), true); // echo ltrim($resArr['data']['image'], '//'); if ($resArr['retcode'] == 20000000) { Json::msg(0, 'success', ['qrid' => $resArr['data']['qrid'], 'image' => 'https://' . ltrim($resArr['data']['image'], '//')]); } else { Json::msg(1, '二维码获取失败'); } }利用返回的qrid验证二维码状态 public function cron() { if (input('?get.qrid')) { $qrid = input('get.qrid'); } else { Json::msg(400, 'qrid不能为空'); } $url = "https://login.sina.com.cn/sso/qrcode/check?entry=weibo&qrid=" . $qrid . "&callback=STK_" . $this->getTime(); // echo $url;exit; $header = [ 'Accept:' => '*/*', 'Accept-Encoding:' => 'gzip, deflate, br', 'Accept-Language:' => 'en-US,en;q=0.9', 'Connection:' => 'keep-alive', 'Cookie:' => 'mm_lang=en; mm_lang=en', 'Host:' => 'login.wx.qq.com', 'Referer:' => 'https://wx.qq.com/', 'User-Agent:' => 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36' ]; $res = Curl::url($url)->setHeader($header)->get(); $regex = "#window(.*?)\(#"; $resArr = json_decode(rtrim(rtrim(preg_replace($regex, "", $res), ';'), ')'), true); if($resArr['retcode'] == 50114003){ Json::msg(205, '二维码已失效'); } elseif($resArr['retcode'] == 50114001) { Json::msg(202, '二维码未失效'); } elseif($resArr['retcode'] == 50114002) { Json::msg(204, '正在验证二维码'); } elseif ($resArr['retcode'] == 50114004) { Json::msg(204, '该二维码已登录,请重新扫描'); } elseif ($resArr['retcode'] == 20000000) { //Json::msg(200, 'sucess', $resArr); preg_match("/-(.*?)-/", $resArr['data']['alt'], $ts_arr); $wb = base64_decode($ts_arr[1]); // 这里写成功后的操作 // 扫码成功后会返回一个固定的base64,利用这个值登入吧 $this->reg($wb); } else{ Json::msg(306, $res); } }附getTime方法,此方法获取13位时间戳 private function getTime() { $arr = explode('.', microtime(true)); return (float)($arr[0] . substr($arr[1], 0 , 3)); }前端代码博主就不贴了,定时器罢了示例网站:http://www.chinawenshu.com
2019年04月22日
13 阅读
0 评论
0 点赞