<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post/4020/</link>
<title><![CDATA[tempnam — 建立一个具有唯一文件名的文件,结合CURL的CURLOPT_COOKIEJAR使用很实用]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Mon, 14 Feb 2011 03:01:08 +0000</pubDate> 
<guid>http://jackxiang.com/post/4020/</guid> 
<description>
<![CDATA[ 
	tempnam — 建立一个具有唯一文件名的文件<br/>说明<br/>string tempnam ( string $dir , string $prefix )<br/>在指定目录中建立一个具有唯一文件名的文件。如果该目录不存在，tempnam() 会在系统临时目录中生成一个文件，并返回其文件名。<br/>简单Demo：<br/><div class="code">&lt;?php<br/>$tmpfname = tempnam(&quot;/tmp&quot;, &quot;FOO&quot;);<br/>$handle = fopen($tmpfname, &quot;w&quot;);<br/>fwrite($handle, &quot;writing to tempfile&quot;);<br/>fclose($handle);<br/>// do here something<br/>unlink($tmpfname);<br/>?&gt; </div><br/><br/><br/><br/><div class="code"><br/>&lt;?php<br/>/*******************************************************************************<br/>Version: 1.11 ($Rev: 175 $)<br/>Website: http://www.115.co<br/>Author: S.C. Chen &lt;admin@185.cm&gt;<br/>Acknowledge: Jose Solorzano (http://www.115.co/)<br/>Contributions by:QQ交流群：89097023<br/>&nbsp;&nbsp;&nbsp;&nbsp;Yousuke Kumakura (Attribute filters)<br/>&nbsp;&nbsp;&nbsp;&nbsp;Vadim Voituk (Negative indexes supports of &quot;find&quot; method)<br/>&nbsp;&nbsp;&nbsp;&nbsp;Antcs (Constructor with automatically load contents either text or file/url)<br/>Licensed under The MIT License<br/>Redistributions of files must retain the above copyright notice.<br/>*******************************************************************************/<br/>//缓存时间，单位：秒<br/>$t = 360;<br/>if(!is_file(&#039;index.html&#039;)&#124;&#124;(time()-filemtime(&#039;index.html&#039;))&gt;$t)&#123;<br/>&nbsp;&nbsp;//微博帐号<br/>&nbsp;&nbsp;$qq = &#039;kuaisubeian&#039;;<br/>&nbsp;&nbsp;//经过腾讯那个md5_3()加密后的密码<br/>&nbsp;&nbsp;$pwd = &#039;624D3274815F2237817A7C62F42DD26A&#039;;<br/>&nbsp;&nbsp;$verifyURL = &#039;http://ptlogin2.qq.com/check?uin=@&#039;.$qq.&#039;&amp;appid=46000101&#039;;<br/>&nbsp;&nbsp;$loginURL = &#039;http://ptlogin2.qq.com/login?&#039;;<br/> <br/>&nbsp;&nbsp;//获取验证码及第一次cookie<br/>&nbsp;&nbsp;$curl = curl_init($verifyURL);<br/>&nbsp;&nbsp;$cookie_jar = tempnam(&#039;.&#039;, &#039;cookie&#039;);<br/>&nbsp;&nbsp;curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);<br/>&nbsp;&nbsp;curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_jar);<br/>&nbsp;&nbsp;$verifyCode = curl_exec($curl);<br/>&nbsp;&nbsp;curl_close($curl);<br/>&nbsp;&nbsp;$verifyCode = strtoupper(substr($verifyCode, 18, 4));<br/>&nbsp;&nbsp;//echo &#039;验证码：&#039;.$verifyCode;<br/>&nbsp;&nbsp;//echo &#039;&lt;hr /&gt;&#039;;<br/>&nbsp;&nbsp;// echo &#039;Cookies：&#039;.$cookie_jar;<br/>&nbsp;&nbsp;// echo &#039;&lt;hr /&gt;&#039;;<br/> <br/>&nbsp;&nbsp;//发送登录请求并获取第二次cookie<br/>&nbsp;&nbsp;$loginURL .= &#039;u=@&#039;.$qq.&#039;&amp;p=&#039;.md5($pwd.$verifyCode).&#039;&amp;verifycode=&#039;.$verifyCode.&#039;&amp;aid=46000101&amp;u1=http%3A%2F%2Ft.qq.com&amp;h=1&amp;from_ui=1&amp;fp=loginerroralert&#039;;<br/>&nbsp;&nbsp;//echo &#039;登录地址：&#039;.$loginURL;<br/>&nbsp;&nbsp;//echo &#039;&lt;hr /&gt;&#039;;<br/>&nbsp;&nbsp;$curl = curl_init($loginURL);<br/>&nbsp;&nbsp;curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);<br/>&nbsp;&nbsp;curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_jar);<br/>&nbsp;&nbsp;curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie_jar);<br/>&nbsp;&nbsp;curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_jar);<br/>&nbsp;&nbsp;$loginResult = curl_exec($curl);<br/>&nbsp;&nbsp;curl_close($curl);<br/>&nbsp;&nbsp;//echo &#039;登录验证结果：&#039;.$loginResult;<br/>&nbsp;&nbsp;//echo &#039;&lt;hr /&gt;&#039;;<br/> <br/>&nbsp;&nbsp;//获取第三次cookie<br/>&nbsp;&nbsp;$curl = curl_init(&#039;http://t.qq.com&#039;);<br/>&nbsp;&nbsp;curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);<br/>&nbsp;&nbsp;curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_jar);<br/>&nbsp;&nbsp;curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie_jar);<br/>&nbsp;&nbsp;curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_jar);<br/>&nbsp;&nbsp;$loginResult = curl_exec($curl);<br/>&nbsp;&nbsp;curl_close($curl);<br/> <br/>&nbsp;&nbsp;//第四次<br/>&nbsp;&nbsp;$curl = curl_init(&#039;http://t.qq.com/&#039;.$qq.&#039;/mine&#039;);<br/>&nbsp;&nbsp;curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);<br/>&nbsp;&nbsp;curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_jar);<br/>&nbsp;&nbsp;curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie_jar);<br/>&nbsp;&nbsp;curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_jar);<br/>&nbsp;&nbsp;$loginResult = curl_exec($curl);<br/>&nbsp;&nbsp;curl_close($curl);<br/> <br/>&nbsp;&nbsp;unlink($cookie_jar);<br/>&nbsp;&nbsp;file_put_contents(&#039;index.html&#039;,$loginResult);<br/>&#125;<br/>include(&#039;cnz.php&#039;);<br/>$html = file_get_html(&#039;index.html&#039;);<br/>$talkList = $html-&gt;find(&#039;#talkList&#039;);<br/>$lastTalk = $talkList&#91;0&#93;;<br/> <br/>$userName = $lastTalk-&gt;children(0)-&gt;children(1)-&gt;find(&#039;.userName&#039;);<br/>$msgCnt = $lastTalk-&gt;children(0)-&gt;children(1)-&gt;find(&#039;.msgCnt&#039;);<br/>$pubInfo =&nbsp;&nbsp;$lastTalk-&gt;children(0)-&gt;children(1)-&gt;find(&#039;.pubInfo&#039;);<br/> <br/>$userName = $userName&#91;0&#93;-&gt;plaintext;<br/> <br/>$result = &#039;&#039;;<br/><br/><br/>//大于二则是转播<br/><br/>if(count($msgCnt) &lt; 10)&#123;<br/>&nbsp;&nbsp;$pi = $pubInfo&#91;0&#93;-&gt;find(&#039;.left&#039;);<br/>&nbsp;&nbsp;$result = $userName.$msgCnt&#91;0&#93;-&gt;plaintext.&#039;&lt;p style=&quot;text-align:center;&quot;&gt; &lt;span style=&quot;display:none&quot;&gt;&lt;/span&gt;&lt;/p&gt;<br/>&lt;title&gt;QQweiboQQ&#124;www.beiantuan.com&lt;/title&gt;&lt;meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=UTF-8&quot; /&gt;&lt;span style=&quot;font-style: italic; color: rgb(238, 29, 36);&quot;&gt;&#039;.$pi&#91;0&#93;-&gt;children(0)-&gt;plaintext.&#039; &#039;.$pi&#91;0&#93;-&gt;children(1)-&gt;plaintext.&#039;&lt;/span&gt;&#039;;<br/>&#125;else&#123;<br/>&nbsp;&nbsp;$pi = $pubInfo&#91;1&#93;-&gt;find(&#039;.left&#039;);<br/>&nbsp;&nbsp;$result = $userName.$msgCnt&#91;0&#93;-&gt;plaintext.&#039;&#91;&#039;.$msgCnt&#91;1&#93;-&gt;plaintext.&#039;&#93; &lt;span style=&quot;font-style: italic; color: rgb(149, 158, 135);&quot;&gt;&#039;.$pi&#91;0&#93;-&gt;plaintext.&#039;&lt;/span&gt;&#039;;<br/>&#125;<br/>echo $result;<br/><br/><br/>?&gt;<br/></div>
]]>
</description>
</item><item>
<link>http://jackxiang.com/post/4020/#blogcomment63993</link>
<title><![CDATA[[评论] tempnam — 建立一个具有唯一文件名的文件,结合CURL的CURLOPT_COOKIEJAR使用很实用]]></title> 
<author>热 &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Tue, 02 Apr 2019 11:18:29 +0000</pubDate> 
<guid>http://jackxiang.com/post/4020/#blogcomment63993</guid> 
<description>
<![CDATA[ 
	流域
]]>
</description>
</item>
</channel>
</rss>