首页
留言板
统计
友链
更多
壁纸
Search
1
开个贴长期收录温柔语录
901 阅读
2
QRspeed - 词库 - txt
870 阅读
3
API接口源码 - 漂流瓶 - 我们漂流瓶联系!
615 阅读
4
答案之书 - API源码 - PHP
489 阅读
5
点歌API源码-PHP
458 阅读
默认分类
分享
PHP
API
QRspeed
MySQL
每日一图
表情包
老少皆宜
台词语录
chat快捷编写
真的不是水
你就说有没有用吧
真是我写的
登录
/
注册
Search
标签搜索
PHP
Linux教程
学习真好
Python
教程
chat
Hot
API源码分享
我爱学习
String
接口
源码
MySQL
表情包
小豆泥
语录
Linux
开源
不是独家
这真的不是水
独角兽
累计撰写
36
篇文章
累计收到
195
条评论
首页
栏目
默认分类
分享
PHP
API
QRspeed
MySQL
每日一图
表情包
老少皆宜
台词语录
chat快捷编写
真的不是水
你就说有没有用吧
真是我写的
页面
留言板
统计
友链
壁纸
搜索到
6
篇与
的结果
2022-11-19
[源码分享]简易短链接
{mtitle title="前言"/}上半年的时候突发奇想可不可以缩短一下链接,哪怕他的本质是跳转。这当然是可以的 ::(狗头) {mtitle title="开始"/}首先思考是用数据库还是文件缓存,思考了两分钟决定用数据库,方便且方便。对数据库表的创建:第一次创建数据库表只创建了4个,但其实是不够的。所以又增加了一列,一共5列大致写了一下,存入数据库和从数据库取出,因为测试环境是公益主机还得自己写伪静态 ::(懒得理)伪静态不会写。最后用tp的伪静态改了一点点用上的因为写的时间太长了我忘记怎么写的了,所以就不多赘述了。未完成:域名的判断(我用的是正则),过滤危险参数(数据库的那点事)等文件Durl是主要文件,Api是对接于Durl的文件,index是列表,当然你也可以不输出列表。jump是跳转文件,与Api文件中的jump相同,如果你只是当做一个Api使用,完全可以把jump丢掉,直接跳转过去。点击 下载 会跳转到蓝奏云下载页面,本文无需回复。{mtitle title="最后"/}{message type="success" content="祝天天开心。"/}
2022年11月19日
21 阅读
2 评论
1 点赞
2022-05-06
每日一文 - PHP源码 - 对接 https://meiriyiwen.com/
{mtitle title="前言"/}前两天推荐了一个网站 传送门 感觉很不错 适合平时阅读一下然后发现 网站 中的内容是静态的,并不是通过JS渲染完成的,可以用PHP正则到内容。于是…{lamp/}{mtitle title="正文"/}### 众所周知file_get_contents()的速度很慢,所以在这里选择了curl。这里选择使用的是 教书先生 提供的几乎万能的 curl方法 ### 首先我们先用curl方法 访问出html<?php Header("content-type: application/json");//Header头部 避免输出文本被浏览器识别为html语言也可以是Header("content-type: text/json"); $data = teacher_curl("https://meiriyiwen.com/"); echo $data; >上面的代码输出为 <DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" lang="zh-CN"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>给我未来的孩子 张梅 | 每日一文</title> <link rel="shortcut icon" href="http://yile-static-files.b0.upaiyun.com/meiriyiwen_com_favicon.ico" type="image/x-icon" /> <meta http-equiv="Pragma" content="no-cache" /> <meta content="爱阅读,每日一文,每天一篇精彩文章!" name="description"/> <meta name="Keywords" content="每日一文,每日一文网,meiriyiwen,每日一文网站,每日一文声音" /> <meta name="msapplication-task" content="name=随机文章;action-uri=https://meiriyiwen.com/random;icon-uri=https://meiriyiwen.com/favicon.ico" /> <meta name="msapplication-task" content="name=每日一文;action-uri=https://meiriyiwen.com;icon-uri=https://meiriyiwen.com/favicon.ico" /> <meta name="msapplication-task" content="name=声音-每日一文;action-uri=https://voice.meiriyiwen.com/;icon-uri=https://meiriyiwen.com/favicon.ico" /> <meta name="msapplication-task" content="name=投递文章;action-uri=https://meiriyiwen.com/index/add;icon-uri=https://meiriyiwen.com/favicon.ico" /> <meta name="msapplication-task" content="name=关于;action-uri=https://meiriyiwen.com/about;icon-uri=https://meiriyiwen.com/favicon.ico" /> <link rel="stylesheet" href="/style/2013style.css"/> <link rel="stylesheet" href="/style/bootstrap.css"/> <!--[if lte IE 8]> <link rel="stylesheet" href="/style/ie.css"/> <![endif]--> </head> <body> <div class="top_header"> <div class="nav"> <span class="meiri_text"><a href="http://meiriyiwen.com">每日一文</a></span> <span id="article_nav" class="voice_nav"><a href="http://meiriyiwen.com">文章</a></span> <span class="voice_nav"><a href="http://voice.meiriyiwen.com" target="_blank">声音</a></span> </div> <div class="user_help"> <!-- <a class="plus_article" href="/index/add" data-placement="bottom" rel="tooltip" data-original-title="投递文章"><img src="../images/plus.png"/></a> --> <iframe style="position:relative;top:5px;" class="add_num" width="63" height="24" frameborder="0" allowtransparency="true" marginwidth="0" marginheight="0" scrolling="no" border="0" src="https://widget.weibo.com/relationship/followbutton.php?language=zh_cn&width=63&height=24&uid=2085934591&style=1&btn=red&dpc=1"></iframe> </div> </div> <!--[if lte IE 8]> <div class="article_bg_top"></div> <![endif]--> <div id="article_show"> <!-- <a class="share_mail" href="#mail" data-toggle="modal" data-placement="bottom" rel="tooltip" data-original-title="发至邮箱"></a> --> <h1>给我未来的孩子</h1> <p class="article_author"><span>张梅</span></p> <div class="article_text"> <p>孩子,我首先希望你自始至终都是一个理想主义者。你可以是农民,可以是工程师,可以是演员,可以是流浪汉,但你必须是个理想主义者。 </p> <p>当你童年,我们讲英雄的故事给你听,并不是要你一定成为英雄,而是希望具有纯正的品格;当你少年,我们让你接触诗歌、绘画、音乐,是为了让你的心灵填满高尚的情趣。这些高尚的情趣会支撑你的一生,使你在最严酷的冬天也不会忘记玫瑰的芳香。理想会使人出众。 </p> <p>孩子,不要为自己的外形担忧。理想纯洁你的气质,而最美貌的女人也会因为庸俗而令人生厌。通向理想的道路往往不尽人意,而你亦会为此受尽磨难。但是,孩子,你尽管去争取,理想主义者的结局悲壮而决不可怜。 </p> <p>在那貌似坎坷的人生中,你会结识到许多智者和君子,你会见到许多旁人无法遇到的风景和奇迹。选择平庸虽稳妥,但绝无色彩。 </p> <p>不要为蝇头小利放弃自己的理想,不要为某种潮流而放弃自己的信念。物质世界的外表太过复杂,你要懂得如何去拒绝虚荣的诱惑。理想不是实惠的东西,它往往无法带给你尘世的享受。因此你必须习惯无人欣赏你,学会精神享受,学会与他人不同。 </p> <p>其次,孩子,我希望你是一个踏实的人。人生太过短促,而虚的东西又太多,你很容易眼花缭乱,最终一事无成。 </p> <p>如果你是一个美貌的女孩子,年轻的时候会有许多男性宠你,你得到的东西过于容易,这会使你流于浅薄和虚浮;如果你是一个极聪明的男孩,又会以为自己能够成就许多大事而流于轻佻。 </p> <p>记住,每个人的能力有限,我们活在世上做好一件事足矣。写好一本书,做好一个主妇。不要轻视平凡的人,不要投机取巧,不要攻击自己做不到的事。你长大后会知道,做好一件事太难,但绝不要放弃。 </p> <p>你要懂得和珍惜感情。不管男人女人,不管墙内墙外,相交一场实在不容易。交友的过程会有误会和摩擦,但你想一想,偌大世界,能有缘结伴而行的又有几人?你要明白朋友终会离去,生活中能有人伴你在身边,听你倾谈,倾谈给你听,你就应该感激。 </p> <p>要爱自己和爱他人,要懂自己和懂他人。你的心要如溪水般柔软,你的眼波要象春天般妩媚。你要会流泪,会孤身一人坐在黑暗中听伤感的音乐。你要懂得欣赏悲剧,悲剧能丰富你的心灵。 </p> <p>希望你不要媚俗。你是个独立的人,无人能抹杀你的独立性,除非你向世俗妥协。要学会欣赏真,要在重重面具之下看到真。 </p> <p>世上圆滑标准的人很多,但出类拔萃的人极少。而往往出类拔萃又隐藏在卑琐狂荡之下。在形式上,我们无法与既定的世俗争斗,而在内心,我们都是自己的国王。如果你的脸上出现谄媚的笑容,我将羞愧的掩脸而去。世俗许多东西虽耀眼却无价值,不要把自己置于大众的天平上,你会因此无所适从,人云亦云。 </p> <p>在具体的做人上,我希望你不要打断别人的谈话,不要娇气十足。你每天至少拿出两小时来读书,不要想着别人为你做些什么,而要想着怎么去帮助他人。 </p> <p>借他人的东西要还,不要随便接受别人的恩惠,要记住,别人的东西,再好也是别人的,自己的东西,再差也是自己的。 </p> <p>还有一件事,虽然做起来很难,但相当重要,这就是要有勇气正视自己的缺点。你会一年年的长大,你渐渐会遇到比你强,比你优秀的人,你会发现自己身上有许多你所厌恶的缺点。这会使你沮丧和自卑。你一定要正视它,不要躲避,要一点一点的加以改正。战胜自己比征服他人还要艰巨和有意义。 </p> <p>不管世界潮流如何变化,但人的优秀品质却是永恒的:正直,勇敢,独立。我希望你是一个优秀的人。</p> </div> </div> <div class="randomBox"> <a href="/random/iphone"> 随机一篇 </a> </div> <div class="header"> <a class="active" href="http://meiriyiwen.com">文章</a> <a href="http://voice.meiriyiwen.com">声音</a> </div> <div class="footer"> <a href="http://meiriyiwen.com/index/about">关于</a> <a href="https://me.alipay.com/jackhe" target="_blank" style="display:none;">赞助我们</a> <a href="mailto:contact@meiriyiwen.com?subject=手机版建议">建议</a> </div> <div class="footer-bottom"> meiriyiwen.com </div> <!--ta--> <script type="text/javascript" src="http://tajs.qq.com/stats?sId=12757038" charset="UTF-8"></script> <!--google--> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-45311166-1', 'meiriyiwen.com'); ga('send', 'pageview'); </script> <script type="text/javascript" src="http://dup.baidustatic.com/js/zm.js"></script> <div id="baidu_dup_1031558" style="text-align:center;"></div> <script type="text/javascript">(BAIDU_DUP=window.BAIDU_DUP||[]).push(['fillAsync','1031558','baidu_dup_1031558']);</script> </body> </html> 是html 并且是静态的并不是JS渲染。并且可以看到我们需要的文章内容在某div标签中。我们如何得到他?答案是正则,也就是preg_match或者preg_match_all在这里用的是 preg_match。 preg_match 函数用于执行一个正则表达式匹配,并在匹配到一次之后停止匹配,否则直到匹配内容的末端结束。 Ta的语法是 int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] ) Ta的正则匹配结果赋值在第三个参数上(如果有的话)。值得一提的是Ta的正则表达式也有定界符的我们开始正则$data返回的内容 preg_match('/<div class="article_text">([\s\S]*?)<\/div>/', $data, $content);//匹配我们需要的内容并赋值在$content上 print_r($content);//打印Ta 上面内容我们会得到 Array ( [0] => <div class="article_text"> <p>孩子,我首先希望你自始至终都是一个理想主义者。你可以是农民,可以是工程师,可以是演员,可以是流浪汉,但你必须是个理想主义者。 </p> <p>当你童年,我们讲英雄的故事给你听,并不是要你一定成为英雄,而是希望具有纯正的品格;当你少年,我们让你接触诗歌、绘画、音乐,是为了让你的心灵填满高尚的情趣。这些高尚的情趣会支撑你的一生,使你在最严酷的冬天也不会忘记玫瑰的芳香。理想会使人出众。 </p> <p>孩子,不要为自己的外形担忧。理想纯洁你的气质,而最美貌的女人也会因为庸俗而令人生厌。通向理想的道路往往不尽人意,而你亦会为此受尽磨难。但是,孩子,你尽管去争取,理想主义者的结局悲壮而决不可怜。 </p> <p>在那貌似坎坷的人生中,你会结识到许多智者和君子,你会见到许多旁人无法遇到的风景和奇迹。选择平庸虽稳妥,但绝无色彩。 </p> <p>不要为蝇头小利放弃自己的理想,不要为某种潮流而放弃自己的信念。物质世界的外表太过复杂,你要懂得如何去拒绝虚荣的诱惑。理想不是实惠的东西,它往往无法带给你尘世的享受。因此你必须习惯无人欣赏你,学会精神享受,学会与他人不同。 </p> <p>其次,孩子,我希望你是一个踏实的人。人生太过短促,而虚的东西又太多,你很容易眼花缭乱,最终一事无成。 </p> <p>如果你是一个美貌的女孩子,年轻的时候会有许多男性宠你,你得到的东西过于容易,这会使你流于浅薄和虚浮;如果你是一个极聪明的男孩,又会以为自己能够成就许多大事而流于轻佻。 </p> <p>记住,每个人的能力有限,我们活在世上做好一件事足矣。写好一本书,做好一个主妇。不要轻视平凡的人,不要投机取巧,不要攻击自己做不到的事。你长大后会知道,做好一件事太难,但绝不要放弃。 </p> <p>你要懂得和珍惜感情。不管男人女人,不管墙内墙外,相交一场实在不容易。交友的过程会有误会和摩擦,但你想一想,偌大世界,能有缘结伴而行的又有几人?你要明白朋友终会离去,生活中能有人伴你在身边,听你倾谈,倾谈给你听,你就应该感激。 </p> <p>要爱自己和爱他人,要懂自己和懂他人。你的心要如溪水般柔软,你的眼波要象春天般妩媚。你要会流泪,会孤身一人坐在黑暗中听伤感的音乐。你要懂得欣赏悲剧,悲剧能丰富你的心灵。 </p> <p>希望你不要媚俗。你是个独立的人,无人能抹杀你的独立性,除非你向世俗妥协。要学会欣赏真,要在重重面具之下看到真。 </p> <p>世上圆滑标准的人很多,但出类拔萃的人极少。而往往出类拔萃又隐藏在卑琐狂荡之下。在形式上,我们无法与既定的世俗争斗,而在内心,我们都是自己的国王。如果你的脸上出现谄媚的笑容,我将羞愧的掩脸而去。世俗许多东西虽耀眼却无价值,不要把自己置于大众的天平上,你会因此无所适从,人云亦云。 </p> <p>在具体的做人上,我希望你不要打断别人的谈话,不要娇气十足。你每天至少拿出两小时来读书,不要想着别人为你做些什么,而要想着怎么去帮助他人。 </p> <p>借他人的东西要还,不要随便接受别人的恩惠,要记住,别人的东西,再好也是别人的,自己的东西,再差也是自己的。 </p> <p>还有一件事,虽然做起来很难,但相当重要,这就是要有勇气正视自己的缺点。你会一年年的长大,你渐渐会遇到比你强,比你优秀的人,你会发现自己身上有许多你所厌恶的缺点。这会使你沮丧和自卑。你一定要正视它,不要躲避,要一点一点的加以改正。战胜自己比征服他人还要艰巨和有意义。 </p> <p>不管世界潮流如何变化,但人的优秀品质却是永恒的:正直,勇敢,独立。我希望你是一个优秀的人。</p> </div> [1] => <p>孩子,我首先希望你自始至终都是一个理想主义者。你可以是农民,可以是工程师,可以是演员,可以是流浪汉,但你必须是个理想主义者。 </p> <p>当你童年,我们讲英雄的故事给你听,并不是要你一定成为英雄,而是希望具有纯正的品格;当你少年,我们让你接触诗歌、绘画、音乐,是为了让你的心灵填满高尚的情趣。这些高尚的情趣会支撑你的一生,使你在最严酷的冬天也不会忘记玫瑰的芳香。理想会使人出众。 </p> <p>孩子,不要为自己的外形担忧。理想纯洁你的气质,而最美貌的女人也会因为庸俗而令人生厌。通向理想的道路往往不尽人意,而你亦会为此受尽磨难。但是,孩子,你尽管去争取,理想主义者的结局悲壮而决不可怜。 </p> <p>在那貌似坎坷的人生中,你会结识到许多智者和君子,你会见到许多旁人无法遇到的风景和奇迹。选择平庸虽稳妥,但绝无色彩。 </p> <p>不要为蝇头小利放弃自己的理想,不要为某种潮流而放弃自己的信念。物质世界的外表太过复杂,你要懂得如何去拒绝虚荣的诱惑。理想不是实惠的东西,它往往无法带给你尘世的享受。因此你必须习惯无人欣赏你,学会精神享受,学会与他人不同。 </p> <p>其次,孩子,我希望你是一个踏实的人。人生太过短促,而虚的东西又太多,你很容易眼花缭乱,最终一事无成。 </p> <p>如果你是一个美貌的女孩子,年轻的时候会有许多男性宠你,你得到的东西过于容易,这会使你流于浅薄和虚浮;如果你是一个极聪明的男孩,又会以为自己能够成就许多大事而流于轻佻。 </p> <p>记住,每个人的能力有限,我们活在世上做好一件事足矣。写好一本书,做好一个主妇。不要轻视平凡的人,不要投机取巧,不要攻击自己做不到的事。你长大后会知道,做好一件事太难,但绝不要放弃。 </p> <p>你要懂得和珍惜感情。不管男人女人,不管墙内墙外,相交一场实在不容易。交友的过程会有误会和摩擦,但你想一想,偌大世界,能有缘结伴而行的又有几人?你要明白朋友终会离去,生活中能有人伴你在身边,听你倾谈,倾谈给你听,你就应该感激。 </p> <p>要爱自己和爱他人,要懂自己和懂他人。你的心要如溪水般柔软,你的眼波要象春天般妩媚。你要会流泪,会孤身一人坐在黑暗中听伤感的音乐。你要懂得欣赏悲剧,悲剧能丰富你的心灵。 </p> <p>希望你不要媚俗。你是个独立的人,无人能抹杀你的独立性,除非你向世俗妥协。要学会欣赏真,要在重重面具之下看到真。 </p> <p>世上圆滑标准的人很多,但出类拔萃的人极少。而往往出类拔萃又隐藏在卑琐狂荡之下。在形式上,我们无法与既定的世俗争斗,而在内心,我们都是自己的国王。如果你的脸上出现谄媚的笑容,我将羞愧的掩脸而去。世俗许多东西虽耀眼却无价值,不要把自己置于大众的天平上,你会因此无所适从,人云亦云。 </p> <p>在具体的做人上,我希望你不要打断别人的谈话,不要娇气十足。你每天至少拿出两小时来读书,不要想着别人为你做些什么,而要想着怎么去帮助他人。 </p> <p>借他人的东西要还,不要随便接受别人的恩惠,要记住,别人的东西,再好也是别人的,自己的东西,再差也是自己的。 </p> <p>还有一件事,虽然做起来很难,但相当重要,这就是要有勇气正视自己的缺点。你会一年年的长大,你渐渐会遇到比你强,比你优秀的人,你会发现自己身上有许多你所厌恶的缺点。这会使你沮丧和自卑。你一定要正视它,不要躲避,要一点一点的加以改正。战胜自己比征服他人还要艰巨和有意义。 </p> <p>不管世界潮流如何变化,但人的优秀品质却是永恒的:正直,勇敢,独立。我希望你是一个优秀的人。</p> ) 返回数据是数组,我们把他取出来 $content = $content[1];//取出第一个匹配到的内容就行了 //echo $content;//这里直接echo的话会有<p>标签,我们把他替换掉 $content = str_replace(['<p>', '</p>'], '', $content); echo $content;//再次输出就没有<p>标签了 以上内容输出为 孩子,我首先希望你自始至终都是一个理想主义者。你可以是农民,可以是工程师,可以是演员,可以是流浪汉,但你必须是个理想主义者。 当你童年,我们讲英雄的故事给你听,并不是要你一定成为英雄,而是希望具有纯正的品格;当你少年,我们让你接触诗歌、绘画、音乐,是为了让你的心灵填满高尚的情趣。这些高尚的情趣会支撑你的一生,使你在最严酷的冬天也不会忘记玫瑰的芳香。理想会使人出众。 孩子,不要为自己的外形担忧。理想纯洁你的气质,而最美貌的女人也会因为庸俗而令人生厌。通向理想的道路往往不尽人意,而你亦会为此受尽磨难。但是,孩子,你尽管去争取,理想主义者的结局悲壮而决不可怜。 在那貌似坎坷的人生中,你会结识到许多智者和君子,你会见到许多旁人无法遇到的风景和奇迹。选择平庸虽稳妥,但绝无色彩。 不要为蝇头小利放弃自己的理想,不要为某种潮流而放弃自己的信念。物质世界的外表太过复杂,你要懂得如何去拒绝虚荣的诱惑。理想不是实惠的东西,它往往无法带给你尘世的享受。因此你必须习惯无人欣赏你,学会精神享受,学会与他人不同。 其次,孩子,我希望你是一个踏实的人。人生太过短促,而虚的东西又太多,你很容易眼花缭乱,最终一事无成。 如果你是一个美貌的女孩子,年轻的时候会有许多男性宠你,你得到的东西过于容易,这会使你流于浅薄和虚浮;如果你是一个极聪明的男孩,又会以为自己能够成就许多大事而流于轻佻。 记住,每个人的能力有限,我们活在世上做好一件事足矣。写好一本书,做好一个主妇。不要轻视平凡的人,不要投机取巧,不要攻击自己做不到的事。你长大后会知道,做好一件事太难,但绝不要放弃。 你要懂得和珍惜感情。不管男人女人,不管墙内墙外,相交一场实在不容易。交友的过程会有误会和摩擦,但你想一想,偌大世界,能有缘结伴而行的又有几人?你要明白朋友终会离去,生活中能有人伴你在身边,听你倾谈,倾谈给你听,你就应该感激。 要爱自己和爱他人,要懂自己和懂他人。你的心要如溪水般柔软,你的眼波要象春天般妩媚。你要会流泪,会孤身一人坐在黑暗中听伤感的音乐。你要懂得欣赏悲剧,悲剧能丰富你的心灵。 希望你不要媚俗。你是个独立的人,无人能抹杀你的独立性,除非你向世俗妥协。要学会欣赏真,要在重重面具之下看到真。 世上圆滑标准的人很多,但出类拔萃的人极少。而往往出类拔萃又隐藏在卑琐狂荡之下。在形式上,我们无法与既定的世俗争斗,而在内心,我们都是自己的国王。如果你的脸上出现谄媚的笑容,我将羞愧的掩脸而去。世俗许多东西虽耀眼却无价值,不要把自己置于大众的天平上,你会因此无所适从,人云亦云。 在具体的做人上,我希望你不要打断别人的谈话,不要娇气十足。你每天至少拿出两小时来读书,不要想着别人为你做些什么,而要想着怎么去帮助他人。 借他人的东西要还,不要随便接受别人的恩惠,要记住,别人的东西,再好也是别人的,自己的东西,再差也是自己的。 还有一件事,虽然做起来很难,但相当重要,这就是要有勇气正视自己的缺点。你会一年年的长大,你渐渐会遇到比你强,比你优秀的人,你会发现自己身上有许多你所厌恶的缺点。这会使你沮丧和自卑。你一定要正视它,不要躲避,要一点一点的加以改正。战胜自己比征服他人还要艰巨和有意义。 不管世界潮流如何变化,但人的优秀品质却是永恒的:正直,勇敢,独立。我希望你是一个优秀的人。 trim函数可以去除首尾的空行,但是他还有多余的换行这里使用 preg_replace 正则替换 preg_replace 函数执行一个正则表达式的搜索和替换。 用法与preg_match + str_replace一样 $content = preg_replace('/[\r\n]{2,}/', "\n", $content);//这里的{2,}是指匹配两次及以上 echo trim($content);//加上trim再次echo 我们会得到 孩子,我首先希望你自始至终都是一个理想主义者。你可以是农民,可以是工程师,可以是演员,可以是流浪汉,但你必须是个理想主义者。 当你童年,我们讲英雄的故事给你听,并不是要你一定成为英雄,而是希望具有纯正的品格;当你少年,我们让你接触诗歌、绘画、音乐,是为了让你的心灵填满高尚的情趣。这些高尚的情趣会支撑你的一生,使你在最严酷的冬天也不会忘记玫瑰的芳香。理想会使人出众。 孩子,不要为自己的外形担忧。理想纯洁你的气质,而最美貌的女人也会因为庸俗而令人生厌。通向理想的道路往往不尽人意,而你亦会为此受尽磨难。但是,孩子,你尽管去争取,理想主义者的结局悲壮而决不可怜。 在那貌似坎坷的人生中,你会结识到许多智者和君子,你会见到许多旁人无法遇到的风景和奇迹。选择平庸虽稳妥,但绝无色彩。 不要为蝇头小利放弃自己的理想,不要为某种潮流而放弃自己的信念。物质世界的外表太过复杂,你要懂得如何去拒绝虚荣的诱惑。理想不是实惠的东西,它往往无法带给你尘世的享受。因此你必须习惯无人欣赏你,学会精神享受,学会与他人不同。 其次,孩子,我希望你是一个踏实的人。人生太过短促,而虚的东西又太多,你很容易眼花缭乱,最终一事无成。 如果你是一个美貌的女孩子,年轻的时候会有许多男性宠你,你得到的东西过于容易,这会使你流于浅薄和虚浮;如果你是一个极聪明的男孩,又会以为自己能够成就许多大事而流于轻佻。 记住,每个人的能力有限,我们活在世上做好一件事足矣。写好一本书,做好一个主妇。不要轻视平凡的人,不要投机取巧,不要攻击自己做不到的事。你长大后会知道,做好一件事太难,但绝不要放弃。 你要懂得和珍惜感情。不管男人女人,不管墙内墙外,相交一场实在不容易。交友的过程会有误会和摩擦,但你想一想,偌大世界,能有缘结伴而行的又有几人?你要明白朋友终会离去,生活中能有人伴你在身边,听你倾谈,倾谈给你听,你就应该感激。 要爱自己和爱他人,要懂自己和懂他人。你的心要如溪水般柔软,你的眼波要象春天般妩媚。你要会流泪,会孤身一人坐在黑暗中听伤感的音乐。你要懂得欣赏悲剧,悲剧能丰富你的心灵。 希望你不要媚俗。你是个独立的人,无人能抹杀你的独立性,除非你向世俗妥协。要学会欣赏真,要在重重面具之下看到真。 世上圆滑标准的人很多,但出类拔萃的人极少。而往往出类拔萃又隐藏在卑琐狂荡之下。在形式上,我们无法与既定的世俗争斗,而在内心,我们都是自己的国王。如果你的脸上出现谄媚的笑容,我将羞愧的掩脸而去。世俗许多东西虽耀眼却无价值,不要把自己置于大众的天平上,你会因此无所适从,人云亦云。 在具体的做人上,我希望你不要打断别人的谈话,不要娇气十足。你每天至少拿出两小时来读书,不要想着别人为你做些什么,而要想着怎么去帮助他人。 借他人的东西要还,不要随便接受别人的恩惠,要记住,别人的东西,再好也是别人的,自己的东西,再差也是自己的。 还有一件事,虽然做起来很难,但相当重要,这就是要有勇气正视自己的缺点。你会一年年的长大,你渐渐会遇到比你强,比你优秀的人,你会发现自己身上有许多你所厌恶的缺点。这会使你沮丧和自卑。你一定要正视它,不要躲避,要一点一点的加以改正。战胜自己比征服他人还要艰巨和有意义。 不管世界潮流如何变化,但人的优秀品质却是永恒的:正直,勇敢,独立。我希望你是一个优秀的人。 很完美的内容,但是他不止有内容还有标题以及作者我们按照以上方法匹配作者及标题 preg_match('/<h1>(.*?)<\/h1>/', $data, $title);//匹配标题 preg_match('/<p class="article_author"><span>(.*?)<\/span><\/p>/', $data, $author);//匹配作者 $title = $title[1]; $author = $author[1]; //我们echo 他们 echo '标题:'.$title; echo "\n"; echo '作者:'.$author; 这里就不给返回文本了写到这里本以为差不多了。没想到刷新网页的时候发现Ta文章变了。想了两个解决方法 一个是存到数据库 一个是存文件我用的是缓存文件的方法 $array = ['title'=>$title, 'author'=>$author, 'content'=>$content, 'time'=>Date('Y-m-d')];//结合成数组 $path = __DIR__.'/Cache/content/'.Date('Y-m-d').'.json';//绝对路径中的目录以及文件记得创建相应的目录 file_put_contents($path, json_encode($array, 320)); //这样文件就存在了,运行时可以优先判断文件是否存在 判断文件是否存在的方法 $path = __DIR__.'/Cache/content/'.Date('Y-m-d').'.json'; if(file_exists($path)){ //存在就读取 echo file_get_contents($path); }else{ //没有就获取 /////////获取内容//////// } 由于一点点写过于麻烦,所以封装成了类代码 <?php header('content-type: application/json;'); $type = @$_REQUEST['type']; $time = @$_REQUEST['Time']; new 每日一文(['type'=>$type, 'time'=>$time]); class 每日一文{ protected $info = []; protected $array = array(); protected $Msg; public function __construct(array $array){ foreach($array as $k=>$v){ $this->info[$k] = $v; } $this->ParameterException(); } protected function ParameterException(){ $time = $this->info['time']; if($time){ $this->getTime(); return; }else{ $this->getcontent(); return; } return; } public function getTime(){ $Time = $this->info['time']; if(preg_match('/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/', $Time)){ $Time = $Time; }else{ $Time = Date('Y-m-d'); } if(file_exists(__DIR__.'/Cache/content/'.$Time.'.json')){ $content = @json_decode(file_get_contents(__DIR__.'/Cache/content/'.$Time), true); if(!$content){ $this->getcontent($Time); return; }else{ unset($this->array, $this->Msg); $this->array = ['code'=>1, 'text'=>'获取成功', 'data'=>$content]; $this->Msg = ' '.$content['title']."\n".' '.$content['author']."\n".$content['content']; $this->returns(); return; } }else{ $this->getcontent($Time); return; } } public function getcontent($time = ''){ if(!$time){ $path = __DIR__.'/Cache/content/'.Date('Y-m-d').'.json'; }else{ if(!strtotime($time)){ $path = __DIR__.'/Cache/content/'.Date('Y-m-d').'.json'; }else{ $path = __DIR__.'/Cache/content/'.$time.'.json'; } } //echo $path;exit; if(file_exists($path)){ $content = @json_decode(file_get_contents($path), true); if(!$content){ $url = 'https://meiriyiwen.com/'; $data = teacher_curl($url); if(!$data){ unset($this->array, $this->Msg); $this->array = ['code'=>-1, 'text'=>'未知错误,请稍后重试']; $this->Msg = '未知错误,请稍后重试'; $this->returns(); return; } preg_match('/<h1>(.*?)<\/h1>/', $data, $title); preg_match('/<p class="article_author"><span>(.*?)<\/span><\/p>/', $data, $author); preg_match('/<div class="article_text">([\s\S]*?)<\/div>/', $data, $content); $title = $title[1]; $author = $author[1]; $content = trim(str_replace(['<p>', '</p>'], '', $content[1])); $array = ['title'=>$title, 'author'=>$author, 'content'=>$content, 'image'=>'https://meiriyiwen.com/images/new_feed/bg_'.mt_rand(1, 98).'.jpg', 'time'=>Date('Y-m-d')]; file_put_contents($path, json_encode($array, 320)); unset($this->array, $this->Msg); $this->array = ['code'=>1, 'text'=>'获取成功', 'data'=>$array]; $this->Msg = ' '.$title."\n".' '.$author."\n".$content; $this->returns(); return; }else{ unset($this->array, $this->Msg); $this->array = ['code'=>1, 'text'=>'获取成功', 'data'=>$content]; $this->Msg = ' '.$content['title']."\n".' '.$content['author']."\n ".$content['content']; $this->returns(); return; } }else{ $url = 'https://meiriyiwen.com/'; $data = teacher_curl($url); if(!$data){ unset($this->array, $this->Msg); $this->array = ['code'=>-1, 'text'=>'未知错误,请稍后重试']; $this->Msg = '未知错误,请稍后重试'; $this->returns(); return; } preg_match('/<h1>(.*?)<\/h1>/', $data, $title); preg_match('/<p class="article_author"><span>(.*?)<\/span><\/p>/', $data, $author); preg_match('/<div class="article_text">([\s\S]*?)<\/div>/', $data, $content); $title = $title[1]; $author = $author[1]; $content = trim(str_replace(['<p>', '</p>', "\r\n"], ['', '', "\n"], $content[1])); $array = ['title'=>$title, 'author'=>$author, 'content'=>$content, 'image'=>'https://meiriyiwen.com/images/new_feed/bg_'.mt_rand(1, 98).'.jpg', 'time'=>Date('Y-m-d')]; file_put_contents($path, json_encode($array, 320)); unset($this->array, $this->Msg); $this->array = ['code'=>1, 'text'=>'获取成功', 'data'=>$array]; $this->Msg = ' '.$title."\n".' '.$author."\n ".$content; $this->returns(); return; } } protected function returns(){ $type = $this->info['type']; Switch($type){ case 'text': echo ($this->Msg); break; default: echo ($this->array); break; } return; } } 值得一提的是,以上内容使用的是电脑的user-agent,而手机端的内容与电脑端完全不一样。{lamp/}Tips:评论加点赞,不减功德本文完
2022年05月06日
73 阅读
2 评论
4 点赞
2021-08-13
答案之书 - API源码 - PHP
前两天,朋友收到一本书《答案之书》看起来针不戳,想要.JPG于是乎 写了一个答案之书的接口。但是,内容并没有太多…因为字太多了我懒得复制…只是抄了其中很小的一部分 ::(捂嘴笑) 还有很多没有写… ::(开心) {mtitle title="答案之书"/}以下是代码部分(PHP)<?php $array = json_decode(file_get_contents('./data.json'),true);//读取本地文件并解码为PHP变量 $rand = array_rand($array,1);//随机读取一个key $type = $_REQUEST['type'];//获取返回条件 if($type == 'text'){ //返回条件如果是text echo $array[$rand]['zh']; echo "\n"; echo $array[$rand]['en']; }else{ //返回条件如果为其他的 $zh = $array[$rand]['zh']; $en = $array[$rand]['en']; echo json(array('code'=>1,'text'=>'获取成功','data'=>array('zh'=>$zh,'en'=>$en))); } function json($arr){ header('Content-type: application/json'); return stripslashes(json_encode($arr,JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)); } 上面代码中提到了 stripslashes 这里说明一下 stripslashes 在PHP中是去除\反向斜杠用的,使其更加美观。{dotted startColor="#ff6c6c" endColor="#1989fa"/}data.json 文件下载隐藏内容,请前往内页查看详情{message type="warning" content="转载时请标明出处!"/}
2021年08月13日
489 阅读
28 评论
4 点赞
2021-08-06
群字符抽取--API源码!
{mtitle title="群字符API"/}前言前两天偶然看到了别人接口里面的抽取群字符这不行我也想要于是打开了 黄鸟准备好抓取抽字符{dotted startColor="#ff6c6c" endColor="#1989fa"/}开始抓取抓取到一个链接{callout color="#f0ad4e"}https://qun.qq.com/v2/luckyword/proxy/domain/qun.qq.com/cgi-bin/group_lucky_word/draw_lottery?bkn=14117570**{/callout}请求方式{callout color="#f0ad4e"}POST{/callout}请求参数{callout color="#f0ad4e"}{"group_code":820323177}{/callout}HEADER{callout color="#f0ad4e"}Host: qun.qq.comConnection: keep-aliveContent-Length: 24Accept: application/json, text/plain, /qname-service: 976321:131072qname-space: ProductionUser-Agent: Mozilla/5.0 (Linux; Android 11; PCLM10 Build/RKQ1.200928.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.106 Mobile Safari/537.36 V1_AND_SQ_8.8.3_1818_YYB_D A_8080300 QQ/8.8.3.5470 NetType/4G WebP/0.4.1 Pixel/1080 StatusBarHeight/85 SimpleUISwitch/1 QQTheme/3063 InMagicWin/0 StudyMode/0Content-Type: application/json;charset=UTF-8Origin: https://qun.qq.comX-Requested-With: com.tencent.mobileqqSec-Fetch-Site: same-originSec-Fetch-Mode: corsSec-Fetch-Dest: emptyReferer: https://qun.qq.com/v2/luckyword/index?qunid=820323177&_wv=67108865&_nav_txtclr=FFFFFF&_wvSb=0&source=enterAccept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7Cookie: p_uin=o2354452553; qq_locale_id=2052; uin=o2354452553; skey=这是Skey; p_skey=这是Pskey{/callout} 真的很齐全返回数据{callout color="#f0ad4e"}{"retcode":0,"msg":"success","data":{"word_info":{"word_info":{"word_id":"11","char_count":5,"wording":"match","word_desc":"意为相配,千金易得,知己难求,默契的灵魂终会相遇。","url_prefix":"https://gxh.vip.qq.com/xydata/groupluckyword/item","mtime":"1602507530","charge_type":1,"light_up_cfgs":[{"group_member_min_count":0,"group_member_max_count":201,"chat_count_per_char":80,"max_chat_count_per_day":40},{"group_member_min_count":201,"group_member_max_count":501,"chat_count_per_char":160,"max_chat_count_per_day":80},{"group_member_min_count":501,"group_member_max_count":1001,"chat_count_per_char":240,"max_chat_count_per_day":120},{"group_member_min_count":1001,"group_member_max_count":100000,"chat_count_per_char":600,"max_chat_count_per_day":300}]},"chosen_uin":"2354452553","chosen_time":1628220057}}}{/callout}{dotted startColor="#ff6c6c" endColor="#1989fa"/}开始写<?php $Skey = $_REQUEST['Skey']?:die('棍');//Skey $Pskey = $_REQUEST['Pskey']?:die('棍');//Pskey $Group = $_REQUEST['Group']?:die('棍');//群号 $QQ = $_REQUEST['QQ']?:die('棍');//提供Pskey的账号 /*需要用到的数据*/ $Gtk = getGTK($Skey);//计算Gtk $data = json_decode(teacher_curl('https://qun.qq.com/v2/luckyword/proxy/domain/qun.qq.com/cgi-bin/group_lucky_word/draw_lottery?bkn='.$Gtk,[//请求连接 'refer'=>'https://qun.qq.com/v2/luckyword/index?qunid='.$Group.'&_wv=67108865&_nav_txtclr=FFFFFF&_wvSb=0&source=enter',//请求Referer头部 'Header'=>[ 'qname-service: 976321:131072',//这个信息很重要,一开始我写的时候没有携带。返回空白数据离谱。 'qname-space: Production',//同上重要数据 'Content-Type: application/json;charset=UTF-8', 'Accept-Encoding: gzip, deflate', 'Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7', 'Accept: application/json, text/plain, */*' ],//header头部信息 'cookie'=>'p_skey='.$Pskey.'; qq_locale_id=2052; p_uin=o'.$QQ.'; uin=o'.$QQ.'; skey='.$Skey,//携带的cookie 'post'=>json_encode(['group_code'=>$Group]),//Post参数 'ua'=>'Mozilla/5.0 (Linux; Android 11; PCLM10 Build/RKQ1.200928.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.106 Mobile Safari/537.36 V1_AND_SQ_8.8.3_1818_YYB_D A_8080300 QQ/8.8.3.5470 NetType/4G WebP/0.4.1 Pixel/1080 StatusBarHeight/85 SimpleUISwitch/0 QQTheme/1000 InMagicWin/0 StudyMode/1' ]),true); //print_r($data);//这里可以打印一下看看输出什么 $code = $data['retcode'];//状态码 $Msg = $data['msg'];//返回提示信息 //通过状态码开始判断 if($code == 0){ $data = $data['data']; if(empty($data)){ die('恭喜您抽中了空气!'); } $data = $data['word_info']['word_info']; $name = $data['wording']; $desc = $data['word_desc']; echo '恭喜您!抽到了'.$name; echo "\n"; echo '寓意是:'.$desc; }else if($code == 11004){ echo '今日抽字符已达上限!'; exit(); }else if($code == 41){ echo '坏掉的Pskey哦'; exit(); }else if($code == 10005){ echo '群信息获取错误'; exit(); }else{ echo $code; echo "\n"; echo $Msg; } {progress percentage="80" color="#ff6c6c"/} 这里提供一个堪称万能的curl方法:/** * @author 教书先生 * @link https://blog.oioweb.cn * @date 2020年11月12日18:00:30 * @msg PHPCurl封装的方法 */ function teacher_curl($url, $paras = array()) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); if (@$paras['Header']) { $Header = $paras['Header']; } else { $Header[] = "Accept:*/*"; $Header[] = "Accept-Encoding:gzip,deflate,sdch"; $Header[] = "Accept-Language:zh-CN,zh;q=0.8"; $Header[] = "Connection:close"; $Header[] = 'X-FORWARDED-FOR:'.Rand_IP(); $Header[] = 'CLIENT-IP:'.Rand_IP(); } curl_setopt($ch, CURLOPT_HTTPHEADER, $Header); if (@$paras['ctime']) { // 连接超时 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $paras['ctime']); } else { curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); } if (@$paras['rtime']) { // 读取超时 curl_setopt($ch, CURLOPT_TIMEOUT, $paras['rtime']); } if (@$paras['post']) { curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $paras['post']); } if (@$paras['header']) { curl_setopt($ch, CURLOPT_HEADER, true); } if (@$paras['cookie']) { curl_setopt($ch, CURLOPT_COOKIE, $paras['cookie']); } if (@$paras['refer']) { if ($paras['refer'] == 1) { curl_setopt($ch, CURLOPT_REFERER, 'http://m.qzone.com/infocenter?g_f='); } else { curl_setopt($ch, CURLOPT_REFERER, $paras['refer']); } } if (@$paras['ua']) { curl_setopt($ch, CURLOPT_USERAGENT, $paras['ua']); } else { curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36"); } if (@$paras['nobody']) { curl_setopt($ch, CURLOPT_NOBODY, 1); } curl_setopt($ch, CURLOPT_ENCODING, "gzip"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); if (@$paras['GetCookie']) { curl_setopt($ch, CURLOPT_HEADER, 1); $result = curl_exec($ch); preg_match_all("/Set-Cookie: (.*?);/m", $result, $matches); $headerSize = curl_getinfo($ch, CURLINFO_HEADER_SIZE); $header = substr($result, 0, $headerSize); //状态码 $body = substr($result, $headerSize); $ret = [ "Cookie" => $matches, "body" => $body, "header" => $header, 'code' => curl_getinfo($ch, CURLINFO_HTTP_CODE) ]; curl_close($ch); return $ret; } $ret = curl_exec($ch); if (@$paras['loadurl']) { $Headers = curl_getinfo($ch); $ret = $Headers['redirect_url']; } curl_close($ch); return $ret; } function Rand_IP(){ #第一种方法,直接生成 $ip2id= round(rand(600000, 2550000) / 10000); $ip3id= round(rand(600000, 2550000) / 10000); $ip4id= round(rand(600000, 2550000) / 10000); #第二种方法,随机抽取 $arr_1 = array("218","218","66","66","218","218","60","60","202","204","66","66","66","59","61","60","222","221","66","59","60","60","66","218","218","62","63","64","66","66","122","211"); $randarr= mt_rand(0,count($arr_1)-1); $ip1id = $arr_1[$randarr]; return $ip1id.".".$ip2id.".".$ip3id.".".$ip4id; } 提供一个Gtk算法:function getGTK($skey){ $len = strlen($skey); $hash = 5381; for ($i = 0; $i < $len; $i++) { $hash += ($hash << 5 & 2147483647) + ord($skey[$i]) & 2147483647; $hash &= 2147483647; } return $hash & 2147483647; } 接口结束{progress percentage="99%" color="#ff6c6c"/}看到这里就该结束了总结一下,一些接口携带的头部信息很重要!研究了一个小时竟然是头部信息我吐了{message type="info" content="接口来源于网络!如有侵犯请联系我!"/}
2021年08月06日
233 阅读
9 评论
8 点赞
2021-08-06
QQ部分API接口(收藏)
QQ部分API接口(收藏)接口所需Cookie如无特殊情况不做说明 {callout color="#f0ad4e"}uin=o提供Skey的账号; p_uin=o提供Skey的账号; skey=与账号相符Skey; p_skey=与账号相符Pskey{/callout}BKN GTK通用算法提示:BKN 一般情况是通过Skey计算的, GTK通过Pskey计算的。 C#代码:{ var hash = 5381; for (int i = 0, len = skey.Length; i < len; ++i) hash += (hash << 5) + (int)skey[i]; return hash & 2147483647; }PHP代码:function bkn($skey){ $len = strlen($skey); $hash = 5381; for ($i = 0; $i < $len; $i++) { $hash += ($hash << 5 & 2147483647) + ord($skey[$i]) & 2147483647; $hash &= 2147483647; } return $hash & 2147483647; } ```` 1.QQ头像接口,imgtype参数值为1到4 ①.https://ssl.ptlogin2.qq.com/getface?imgtype=4&uin=QQ号码 ②.http://q2.qlogo.cn/headimg_dl?dst_uin=QQ号码&spec=5 2.QQ群头像接口 http://p.qlogo.cn/gh/QQ群号码/QQ群号码/100/ 3.QQ空间背景音乐接口 http://qzone-music.qq.com/fcg-bin/cgi_playlist_xml.fcg?g_tk=这里是GTK&json=1&uin=QQ号码 ##### 需要Cookie 4.QQ群设置接口,bkn自己获取 http://qinfo.clt.qq.com/cgi-bin/ing_v2?gc=群号&bkn=这里是bkn ##### 需要Cookie 5.QQ个人信息接口,bkn自己获取 https://qun.qq.com/cgi-bin/qunwelcome/myinfo?callback=?&bkn=这里是BKN ##### 需要Cookie 6.QQ空间头像接口 http://qlogo3.store.qq.com/qzone/QQ号/QQ号/100 7.QQ好友列表 https://qun.qq.com/cgi-bin/qun_mgr/get_friend_list?bkn=这里是BKN,上面有算法 ##### 需要Cookie 8.QQ群列表 https://qun.qq.com/cgi-bin/qun_mgr/get_group_list?bkn=这里是BKN ##### 需要Cookie 9.QQ群列表(简略信息) http://qun.qzone.qq.com/cgi-bin/get_group_list?g_tk=这里是GTK ##### 需要Cookie 10.QQ群成员获取接口 https://qun.qq.com/cgi-bin/qun_mgr/search_group_members?gc=群号&st=&end=&sort=0&bkn=这里是BKN **gc由qq群列表返回json中获取,st为起始位置由0开始,end为终止位置由0开始** ##### 需要Cookie 11.QQ修改群名片 POST:https://qinfo.clt.qq.com/cgi-bin/qun_info/set_group_card 提交信息u=&name=&gc=&bkn= u为本人QQ,name为欲修改为的名字(需要url编码),gc为群号,bkn必填 附加协议头Referer:https://qinfo.clt.qq.com/qinfo_v3/member.html?groupuin= ##### 需要提交cookie 12.QQ取本地已登录账号 https://localhost.ptlogin2.qq.com:xxxx/pt_get_uins?callback=ptui_getuins_CB&r=&pt_local_tk= 此链接指向本地127.0.0.1,xxxx为本地端口号,需要通过netstat -ano查看,开头为43xx 13.QQ取群公告 http://qun.qq.com/cgi-bin/feeds/get_list?qid=群号&i=1&s=-1&n= qid为群号,n为数量(无上限),访问需登录 ##### 需要Cookie 14.QQ取群基本信息 https://qinfo.clt.qq.com/cgi-bin/qun_info/get_group_info_v2?gc=群号&bkn=这里是BKN gc为群号,bkn必填,附加协议头Referer:https://qinfo.clt.qq.com/qinfo_v3/setting.html?groupuin= ##### 需要Cookie 15.QQ取群基本信息(全部) https://qinfo.clt.qq.com/cgi-bin/qun_info/get_group_info_all?gc=群号&bkn=这里是BKN gc为群号,bkn必填,附加协议头Referer:https://qinfo.clt.qq.com/qinfo_v3/member.html?groupuin= ##### 需要Cookie 16.QQ取群付费信息 https://pay.qun.qq.com/cgi-bin/group_pay/group_enter_fee/get_group_enter_fee?gc=群号&bkn=这里是BKN gc为群号,bkn必填,附加协议头Referer:https://qinfo.clt.qq.com/qinfo_v3/setting.html?groupuin= ##### 需要Cookie 17.QQ取群成员基本信息 http://qun.qq.com/cgi-bin/get_group_member?groupid=&g_tk= groupid为群号,g_tk必填,在item数组中包含管理员信息(简略) ##### 需要Cookie 18.QQ取群成员信息和设置 https://qinfo.clt.qq.com/cgi-bin/qun_info/get_members_info_v1?gc=&bkn= gc为群号,bkn必填,附加协议头Referer:https://qinfo.clt.qq.com/qinfo_v3/member.html?groupuin= ##### 需要Cookie 19.QQ取群文件信息 http://qun.qq.com/cgi-bin/get_group_share_info?groupid=&g_tk= groupid为群号,g_tk必填,访问需登录,好像只能获取到群文件数量,具体自己测试 ##### 需要Cookie 20.QQ取群文件最佳CDN http://qun.qq.com/cgi-bin/group_share_get_downurl?groupid=&pa=%2F102%2F83c65cb2-41b5-11ea-a715-5452007bdaa4&g_tk= groupid为群号,g_tk必填 ##### 需要Cookie 21.QQ取群文件(只能取到100) http://qun.qzone.qq.com/cgi-bin/group_share_list?groupid=&bussinessid=0&g_tk= groupid为群号,g_tk必填 ##### 需要Cookie 22.QQ取历史头像 https://ti.qq.com/mqqbase/cgi/history/face/list?timestamp=&num=&need_cur=1 所有内容均为必填项,在登录后即可获取,num为获取数量,如果要取全部就填很大(测试最大50) ##### 需要Cookie 23.QQ取最近群验证消息(html) https://web.qun.qq.com/cgi-bin/sys_msg/getmsg?ver=5689&filter=0&ep=0 包括待处理消息https://web.qun.qq.com/cgi-bin/sys_msg/getmsg?ver=5689 ##### 需要Cookie 24.QQ取群idkey https://qun.qq.com/proxy/domain/shang.qq.com/wpa/g_wpa_get?guin= 需要cookie,协议头Referer:https://qun.qq.com/proxy.html?callback=1&id=1,guin为群号中间用英文逗号“,”隔开,guin需url编码 ##### 需要Cookie 25.QQ取加群二维码 https://qm.qq.com/dl/wpa/e_group?gid=&size=420 需要cookie,gid为群号,size必须(改了大小也不会改变),附加协议头Referer: https://qun.qq.com/join.html ##### 需要Cookie 26.QQ群应用 https://pub.idqqimg.com/qqun/app/aio/appstore.json.js 27.QQ群投票 http://client.qun.qq.com/cgi-bin/feeds/get_t_list?s=-1&ft=21&i=1&qid=&bkn=&n= 需要cookie,qid为群号,bkn必填,n为数量(尽量往大填可以取全部) http://client.qun.qq.com/cgi-bin/feeds/get_feed?fid=&qid=&bkn= 需要cookie,qid为群号,fid为上个接口获取到的fid,bkn必填 ##### 需要Cookie 28.QQ空间发送 https://user.qzone.qq.com/proxy/domain/taotao.qzone.qq.com/cgi-bin/emotion_cgi_publish_v6?qzonetoken=&g_tk= ##### 需要Cookie 以下为仅自己可见的post提交内容 syn_tweet_verson: 1 paramstr: 1 pic_template: richtype: richval: special_url: subrichtype: who: 1 con: 测试 feedversion: 1 ver: 1 ugc_right: 64 to_sign: 0 hostuin: 9877677 code_version: 1 format: fs qzreferrer: https://user.qzone.qq.com/9877677 29.QQ空间删除 https://user.qzone.qq.com/proxy/domain/taotao.qzone.qq.com/cgi-bin/emotion_cgi_delete_v6?qzonetoken=&g_tk= ##### 需要Cookie 以下是删除上面测试的说说所post的参数 uin: 9877677 topicId: 9877677_9690071863712e5ec1e60100__1 feedsType: 0 feedsFlag: 0 feedsKey: 9690071863712e5ec1e60100 feedsAppid: 311 feedsTime: 1580101987 fupdate: 1 ref: feeds qzreferrer: https://user.qzone.qq.com/9877677 30.QQ空间获取(返回jsonp) https://user.qzone.qq.com/proxy/domain/ic2.qzone.qq.com/cgi-bin/feeds/feeds3_html_more?uin=9877677&scope=0&view=1&daylist=&uinlist=&gid=&flag=1&filter=all&applist=all&refresh=0&aisortEndTime=0&aisortOffset=0&getAisort=0&aisortBeginTime=0&pagenum=1&externparam=undefined&firstGetGroup=0&icServerTime=0&mixnocache=0&scene=0&begintime=undefined&count=10&dayspac=undefined&sidomain=qzonestyle.gtimg.cn&useutf8=1&outputhtmlfeed=1&rd=0.14732353980032675&usertime=1580102440156&windowId=0.47149856105620036&g_tk=&qzonetoken=&g_tk= ##### 需要Cookie 31.QQ空间图片说说查看 https://h5.qzone.qq.com/proxy/domain/plist.photo.qq.com/fcgi-bin/cgi_floatview_photo_list_v2?g_tk=&topicId=&picKey=&cmtNum=10&inCharset=utf-8&outCharset=utf-8&uin=&hostUin=&appid=311 g_tk必填,pickey随便填但不可为空,topicID必填,uin为自己的QQ号,hostUin为对方QQ号 ##### 需要Cookie 32.QQ查询业务(PK) https://club.vip.qq.com/guestprivilege?friend=QQ号 ##### 需要vip.qq.com的cookie
2021年08月06日
377 阅读
8 评论
5 点赞
2020-12-29
点歌API源码-PHP
不知不觉中网站已经运行了70天了…中间也被D过一次…还被注入东西了…差点没搞好,这对我这种小白萌新来说简直了!写东西也没人看嘤。索性就分享点东西(摸下巴)话不多说!上干货↓点歌APIQQ音乐网易云音乐酷狗音乐酷我音乐四种不同的点歌今天分享出来
2020年12月29日
458 阅读
2 评论
3 点赞