作者:matrix
发布时间:2013-12-31
分类:零零星星
仅是获得响应头Location的最终地址
$url='http://189.io/G3qrdn';
echo get_jump_url($url);
function get_jump_url($url) {
$url = str_replace(' ','',$url);
do {//do.while循环:先执行一次,判断后再是否循环
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
$header = curl_exec($curl);
curl_close($curl);
preg_match('|Location:\s(.*?)\s|',$header,$tdl);
if(strpos($header,"Location:")){
$url=$tdl ? $tdl[1] : null ;
}
else{
return $url.'';
break;
}
}while(true);
}
参考:http://bbs.csdn.net/topics/390349430
附curl常量:
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);//允许链接自动跳转
curl_setopt($curl, CURLOPT_MAXREDIRS, 3);//限定CURLOPT_FOLLOWLOCATION递归返回的数量
CURLOPT_AUTOREFERER :curl 会自动添加 Referer header 在每一个跳转链接,也就是一跟到底。
这样也就避免上面代码的do while循环。
建议使用get_headers()函数解决
参考:http://upc.gg.blog.163.com/blog/static/297984982013123970455/
作者:matrix
发布时间:2013-12-28
分类:零零星星
26号发现以前的微云网盘外链失效,微云的菊花被捅的也差不多了。
下载大于100MB的文件要求输入验证码。
26号,使用手机浏览器登陆都不能下载。今天一看貌似又好了
上面的情况,以前的肯定没法了。手动下载,尝试用Fiddler抓取各类响应头,或者用火狐的firebug插件查看网络。
看到每次下载都是请求的http://web.cgi.weiyun.com/share_dl.fcg这个地址。 阅读剩余部分 »
作者:matrix
发布时间:2013-12-26
分类:Wordpress
rss输出错误一般都是由于主题导致的,自己DIY主题就很容易出现此类问题(修改freshwp主题时发现)
以前打开/feed地址经常看到 Below is a rendering of the page up to the ffirst error.都没管。
解决办法还是有的,不过造成此类的原因很多,仅仅是其中之一。
解决:删除空白行
使用Notepad++打开主题内的所有php文件,Ctrl+H替换(使用正则匹配)^\s*\n 为空。点击在所有打开文件中替换
之后也就把所有^\s*\n匹配到的空白行删除了。
说明:
正则表达式:^\s*\n表示匹配所有空白行,包括有空格的行。
参考:http://xiaoke.name/125.html
http://zhidao.baidu.com/question/270423631.html
作者:matrix
发布时间:2013-12-20
分类:零零星星
或许你遇到ERROR弹窗信息时都会照着上面提示码字百度解决办法~
实际上windows早就给你想好了: 直接按Ctrl+C就行!
之后去粘贴就有弹窗的内容了,很方便。
玩电脑也算是有几年了吧,悲剧的是 现在才晓得~
解决各类弹窗信息提取问题,很屌 很强大!
chrome 弹窗信息无压力~ 直接ctrl+c
普通消息框一样的。
离开这个页面,您所做的更改将丢失。确定要离开此页吗?
[Window Title]
记事本
[Main Instruction]
是否将更改保存到 C:\Users\Administrator\Desktop\新建文本文档.txt?
[保存(S)] [不保存(N)] [取消]
参考:http://www.54itmi.com/err-msg-copy/
作者:matrix
发布时间:2013-12-10
分类:Wordpress 兼容并蓄
邮件通知,每当有评论回复时系统会发送一封邮件告知被评论者。
WordPress上免插件实现的方法:http://www.cmhello.com/wordpress-comments-email-code.html
我选的第一种:所有回复都发送邮件通知。
$message='发送的邮件内容以及样式代码';
上面为邮件内容。
样式如上图,把发送的邮件内容以及样式代码改为下面代码:
<TABLE cellSpacing="0" cellPadding="0" width="618" align="center">
<TBODY>
<TR>
<TD style="FONT-FAMILY: Tahoma,Helvetica,Arial,sans-serif; ">
<TABLE style="FONT-SIZE: 12px; MARGIN: 0px auto; OVERFLOW: hidden; HEIGHT: auto" cellSpacing="0"
cellPadding="0">
<TBODY>
<TR>
<h1 id="logo">'.get_option('blogname').'</h1>
</TR>
<TR>
<TD style="OVERFLOW: hidden; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; HEIGHT: auto; BORDER-BOTTOM-STYLE: none">
<TABLE style="PADDING-RIGHT: 25px; MARGIN-TOP: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN-LEFT: 27px; WIDTH: 588px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none"
cellSpacing="0" cellPadding="0" border="0">
<TBODY>
<TR>
<TD style="BACKGROUND: url(http://a.xnimg.cn/imgpro/mail/edm-hot-bg-middleLeft.png); WIDTH: 17px"></TD>
<TD style="BACKGROUND: #fff">
<DIV><IMG
style="DISPLAY: block; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none"
src="http://a.xnimg.cn/imgpro/mail/edm-hot-bg-middleTop.png"></DIV>
<TABLE style="MARGIN-TOP: 10px; MARGIN-LEFT: 13px; WIDTH: 500px" cellSpacing="0"
cellPadding="0" border="0">
<TBODY>
<TR>
<TD style="BACKGROUND: #fff" width="500"><H2
style="MARGIN-TOP: 10px; FONT-WEIGHT: bold; FONT-SIZE: 14px; MARGIN-LEFT: 0px">
'.trim(get_comment($parent_id)->comment_author).' , Hello!</H2>
<P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 12px; PADDING-BOTTOM: 0px; MARGIN-LEFT: 0px; LINE-HEIGHT: 12px; PADDING-TOP: 0px">
您曾在《'.get_the_title($comment->comment_post_ID).'》留言:</P>
<p style="color: #777;border: 1px solid #DDD;padding: 5px 8px 5px 8px;background-color: #FCFCFC;border-radius: 3px 3px 3px 3px;font-size: 12px;line-height: 22px;font-family: Consolas,Courier,minispace,Lucida Console;">
'.trim(get_comment($parent_id)->comment_content).'
</p>
<P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 12px; PADDING-BOTTOM: 0px; MARGIN-LEFT: 0px; LINE-HEIGHT: 12px; PADDING-TOP: 0px">
'.trim($comment->comment_author).'给您的回复:
</P>
<p style="color: #777;border: 1px solid #DDD;padding: 5px 8px 5px 8px;background-color: #FCFCFC;border-radius: 3px 3px 3px 3px;font-size: 12px;line-height: 22px;font-family: Consolas,Courier,minispace,Lucida Console;">
'.trim($comment->comment_content).'
</p>
您可以点击<a href="'.htmlspecialchars(get_comment_link($parent_id)) .'"
target="_blank">查看回复的完整內容</a>
</TR>
<TR>
<TD style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 15px; PADDING-TOP: 15px"
colSpan="2"><IMG
style="DISPLAY: block; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none"
src="http://a.xnimg.cn/imgpro/mail/edm-hot-line.png"></TD>
</TR>
</TBODY>
</TABLE>
<DIV><IMG
style="DISPLAY: block; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none"
src="http://a.xnimg.cn/imgpro/mail/edm-hot-bg-middleTop.png"></DIV>
</TD>
<TD style="BACKGROUND: url(http://a.xnimg.cn/imgpro/mail/edm-hot-bg-middleRight.png); WIDTH: 17px"></TD>
</TR>
</TBODY>
</TABLE>
</TD>
</TR>
<TR>
<TD style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 15px; OVERFLOW: hidden; WIDTH: 100%; COLOR: #999; LINE-HEIGHT: 14px; PADDING-TOP: 15px; TEXT-ALIGN: center">
这是系统发给<A style="COLOR: #336699; TEXT-DECORATION: none">'.trim(get_comment($parent_id)->comment_author).'</A>的讯息,请勿回复。
欢迎再度光临 <a href="'.get_option('home') .'">'.get_option('blogname') .'</a>
</TD>
</TR>
</TBODY>
</TABLE>
</TD>
</TR>
</TBODY>
</TABLE>
<style type="text/css">
body {
font-size: 14px;
font-family: arial, verdana, sans-serif;
line-height: 1.666;
padding: 0;
margin: 0;
overflow: auto;
white-space: normal;
word-wrap: break-word;
min-height: 100px
}
td, input, button, select, body {
font-family: Helvetica, \'Microsoft Yahei\', verdana
}
pre {
white-space: pre-wrap;
white-space: -moz-pre-wrap;
white-space: -pre-wrap;
white-space: -o-pre-wrap;
word-wrap: break-word
}
th, td {
font-family: arial, verdana, sans-serif;
line-height: 1.666
}
img {
border: 0
}
header, footer, section, aside, article, nav, hgroup, figure, figcaption {
display: block
}
#logo {
text-align: center;
}
</style>
说明:
若出现问题,请尝试转换中文标点为英文的。
之前出现乱码,所以用的utf-8编码。
样式来自人人网邮件,
图片素材都打包了,方便以后的本地化:
下载:http://www.400gb.com/file/42884686
http://pan.baidu.com/s/1xjiZ7
参考:http://www.cxsir.com/wordpress-email-style.html
作者:matrix
发布时间:2013-12-07
分类:兼容并蓄 零零星星
推荐使用圣杯Charles
垮多平台。可实现数据拦截 并发请求 网速模拟测试等等 -- 201810
https://www.charlesproxy.com/
windows fiddler也可推荐。
平时东看西看的了解到什么抓包的,完全没玩过~
留个备份,以后会用到。
Charles
圣杯Charles 毫无疑问 TOP1.
官网最新版:https://www.charlesproxy.com/download/
4.0.1版本:https://www.charlesproxy.com/assets/release/4.0.1/charles-proxy-4.0.1-win64.msi
4.0.1 破解jar包:charles.jar
替换掉原文件夹里的charles.jar
Mac: /Applications/Charles.app/Contents/Java/charles.jar
Windows: C:\Program Files\Charles\lib\charles.jar
Smsniff2.00简体中文版
来自:http://www.ifoouu.com/note/75.html
下载:http://pan.baidu.com/s/1w2MJK
说明:smsniff 网络抓包工具可以通过你的网络适配器捕获TCP/IP数据包,并查看捕获客户端和服务器之间的数据序列的会话。
HTTP数据抓包(Fiddler2) V2.2.0 绿色中文版
来自:http://www.cr173.com/soft/42248.html
下载:http://pan.baidu.com/s/1Aaafx
说明:通过代理的方式获取程序http通讯的数据,可以用其检测网页和服务器的交互情况,能够记录所有客户端和服务器间的http请求,支持监视、设置断点、甚至修改输入输出数据等功能。
WSExplorer 进程抓包工具1.3绿色中文版
下载:
http://www.cr173.com/soft/17693.html
http://pan.baidu.com/s/1sjnnPYd
这软件也不错,跟Smsniff差不多,但是能够抓取相关进程的网络交互数据。
作者:matrix
发布时间:2013-12-06
分类:Wordpress 兼容并蓄
这个主题是之前提到过的NGRO主题,很好看~ freshwp
在NGRO.ORG上看到,绝对是最喜欢的主题,没有之一。可惜NGRO.ORG没有公开,再加上是typecho的更抽了~
不过就算是typecho的,我也愿意为了这主题换博客程序。据说typecho还是超轻型的,比起WordPress好得多。嗯 之后也就到处找此款主题的相关信息,结果是弄到了别人扒下来的皮。不错 很感谢sunhua.me。地址:诡异:TEer扒TE皮NGRO
这主题是由typecho默认主题改过来的,变化很大。想到typecho的轻巧,WordPress又舍不得某些功能 ,纠结。最后妥协于wp的某个JB功能,去找各类关于typecho主题移植到WordPress的方法,结果都是wp到tc的 ,真是恼火。庆幸我的运气不是一般的好,看到winysky.com的 wordpress版本的typecho皮肤 哈哈 有救了。那扒的皮就是源于那tc皮肤,打开一看的确一样的结构设计。这下简单多了,覆盖style,修改简单的css、php代码。一个具有基本功能的wp主题就出现了,哎 我真人才啊,这都鼓捣的出来。还TMD不是学计算机的 ➡ 搞的建筑工程。
这下就整理完善需要的功能到fresh就OK啦,直到这时间才发文。
freshwp:清新-wp
之前用的是自说me话的增强版philna主题(备份下载:http://www.400gb.com/file/40436320)。
后来换的BLUE2.0(七彩之家修改于inv的cms主题),这个相对于以前来还好些。(备份下载:http://www.400gb.com/file/40816608)
这回来就换了这个,小清新 大爱~ 😉
作者:matrix
发布时间:2013-12-04
分类:兼容并蓄 零零星星
测试地址:
采用最新的本人无数据库缓存10min,绝对不靠谱,仅供测试!
警告:以下内容属于充字数类型且杂乱无章,需要外链功能的请戳上面的地址~
上个月,百度网添加了验证码功能导致以前抓取外链的方法都失效。度娘终于爆发了~
刚开始还没注意到验证码的存在,只要一连几次下载文件就会出现验证码窗口
经过N次的文件下载,看到了度娘的脾气。
也就只允许你前3次下载免验证码,后面你要下载的话那就只有手动输入了。
抓到某个下载地址:
http://small.cdn.baidupcs.com/file/2c808f328bec8fa44d5ac5e2e42985d2?xcode=e0ad680ebd95ea801d4878451d04d36328f07d27337bcbfd0b2977702d3e6764
&fid=1178024267-250528-2238604782
&time=1386087754
&sign=FDTAXER-DCb740ccc5511e5e8fedcff06b081203-w%2FMs%2B2m13ixmrRpD2s11F01H6b4%3D
&to=sc
&fm=Q,B,U,nc
&expires=1386088354
&rt=sh
&r=860261331
&logid=2869754983&sh=1&vuk=3238236832
&fn=文件名
上面的fid、time、sign还能从页面处找到,有些参数根本就看不到。
time和expires参数都是unix时间戳,后者的意思是过期时间。时间相差600秒,也就10分钟。
在这10分钟之内这个地址都是有效的, 😉 那就有点头绪了。
抓取页面的必备参数,获取下载地址,再用session会话缓存那个下载地址,10分钟内有效或者再自动检测。
最爽的是第一次弄免数据库缓存,庆幸书上有session会话的相关章节 哈哈。
再手动下载几次就抓到了获取下载地址的URL:
http://pan.baidu.com/share/download?bdstoken=null&uk=&shareid=&fid_list=[]&sign=×tamp=
看到那几个参数,笑了~
之后就是好几天的编写、测试下载,期间有看书整了个最基本的类 。 额 面向对象 。
源码就暂时为空。
提醒的是度娘这回要检测referer,跟360云盘一样的只能外链下载无法外链播放。自己试试就晓得~
所以我把link.hhtjim.com页面的那个下载按钮去掉了 ,TMD浏览器发送当前URl的referer是没法改的。无语啊~
先放个测试期间最早版本的cookies缓存源码:
<?php
error_reporting(0);//禁用错误报告
function curl_get($url,$post=false,$carry_header=true,$REFERER_=false,$useragent=false,$add_arry_header=null){
$ch=curl_init($url);
if($carry_header){
curl_setopt($ch, CURLOPT_HTTPHEADER, array('User-Agent:Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_2 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7D11 Safari/528.16'));
}
if($add_arry_header){
curl_setopt($ch, CURLOPT_HTTPHEADER, $add_arry_header);
}
if ($post) {
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
}
if($REFERER_){
curl_setopt($ch, CURLOPT_REFERER,$REFERER_);
}
if($useragent){
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$get_url = curl_exec($ch);
curl_close($ch);
return $get_url;
}
preg_match('|u=(.*)|',$_SERVER["REQUEST_URI"],$bai_res);
$bai_=curl_get($bai_res[1]);
preg_match('|shareid=\"(\d+)\"\?\"\1\":\"\";FileUtils\.uk=\"(\d+)\"\?\"\2\"|',$bai_, $ui);
preg_match('|fs_id\D+(\d+)\D+app_id|',$bai_,$fid);
preg_match('|timestamp=\"(\d+)\"|',$bai_,$time);
preg_match('|downloadsign=\"(\w+)\"|',$bai_,$login);
$diz="http://pan.baidu.com/share/download?bdstoken=null&uk=$ui[2]&shareid=$ui[1]&fid_list=[$fid[1]]&sign=$login[1]×tamp=$time[1]&bdstoken=null&channel=chunlei&clienttype=0&web=1";
$header[]= 'Cookie: BAIDUID=*****'; //请使用自个儿的百度ID,度娘会检查这个的cookies
if(isset($_COOKIE["du$ui[2]-$ui[1]"])){
//header( "Location: $_COOKIE["du$ui[2]-$ui[1]"]");
echo $_COOKIE["du$ui[2]-$ui[1]"];
}else{
$dl=curl_get($diz,null,$header,$bai_res[1],null,$header);
$obj=json_decode($dl,true);
if($obj['errno']!='0'){
//header( "Location: $bai_res[1]");
echo $bai_res[1];
}
setcookie("du$ui[2]-$ui[1]",$obj['dlink'],time()+3600*24);
//header( "Location: $obj['dlink']");
echo $obj['dlink'];
}
?>
这个能不能用就靠你怎么使了,仅是原理。
如果你即刻需要外链,请到http://link.hhtjim.com玩玩~
祝你好运!
博客也快一个月都没有更新了,不码点字不好~