<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_随机博客</title><subtitle type="text">Random Blog</subtitle><id>http://feed.cnblogs.com/blog/u/16888/rss</id><updated>2012-04-30T08:16:59Z</updated><author><name>随机</name><uri>http://www.cnblogs.com/Random/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Random/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/16888/rss"/><entry><id>http://www.cnblogs.com/Random/archive/2012/04/30/2476976.html</id><title type="text">2012 草莓音乐节 [组图]</title><summary type="text"/><published>2012-04-30T08:10:00Z</published><updated>2012-04-30T08:10:00Z</updated><author><name>随机</name><uri>http://www.cnblogs.com/Random/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Random/archive/2012/04/30/2476976.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Random/archive/2012/04/30/2476976.html"/><content type="html">&lt;p&gt;&lt;span style="font-size:20px;color:red;"&gt;女贝丝手神马的最有范儿了&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/random/strawberry/01.jpg" alt="" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:20px;color:red;"&gt;美式Football&amp;#8230;&amp;#8230;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/random/strawberry/02.jpg" alt="" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:20px;color:red;"&gt;套马的汉子你威武雄壮&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/random/strawberry/04.jpg" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/random/strawberry/05.jpg" alt="" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:20px;color:red;"&gt;专注&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/random/strawberry/06.jpg" alt="" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:20px;color:red;"&gt;偶遇高晓松老湿&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/random/strawberry/07.jpg" alt="" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:20px;color:red;"&gt;这哥们怎么看都像是来说配乐相声的&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/random/strawberry/08.jpg" alt="" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:20px;color:red;"&gt;来一组妹子的抓拍&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/random/strawberry/09.jpg" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/random/strawberry/10.jpg" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/random/strawberry/11.jpg" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/random/strawberry/12.jpg" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/random/strawberry/13.jpg" alt="" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:20px;color:red;"&gt;STRAWBERRY MUSIC FESTIVAL 2012&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/random/strawberry/14.jpg" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Random/aggbug/2476976.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Random/archive/2012/04/30/2476976.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Random/archive/2012/03/21/2409090.html</id><title type="text">Command 和 Observer 的一些区别</title><summary type="text">1.Command封装一个请求对象，Observer定义一种一对多的依赖关系;2.Command通过对象解耦，Observer可以通过消息解耦;3.Command可以有执行和撤消操作，所以从某种意义上来说，Command是有序的，Observer是无序的;4.Command是在主类中通过接口调用各客户端子类的功能，Observer支持主类将更新通知给客户端，然后由客户端自行处理。Command模式：Observer模式：</summary><published>2012-03-20T16:06:00Z</published><updated>2012-03-20T16:06:00Z</updated><author><name>随机</name><uri>http://www.cnblogs.com/Random/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Random/archive/2012/03/21/2409090.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Random/archive/2012/03/21/2409090.html"/><content type="html">&lt;div&gt;1.Command封装一个请求对象，Observer定义一种一对多的依赖关系;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;2.Command通过对象解耦，Observer可以通过消息解耦;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;3.Command可以有执行和撤消操作，所以从某种意义上来说，Command是有序的，Observer是无序的;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;4.Command是在主类中通过接口调用各客户端子类的功能，Observer支持主类将更新通知给客户端，然后由客户端自行处理。&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Command模式：&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/random/cmd.jpg" width="614" height="222" alt="" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Observer模式：&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&amp;nbsp;&lt;img src="http://images.cnblogs.com/cnblogs_com/random/obsv.jpg" width="638" height="245" alt="" /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Random/aggbug/2409090.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Random/archive/2012/03/21/2409090.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Random/archive/2012/02/28/2372531.html</id><title type="text">xml2json</title><summary type="text">functiongetXMLDOM(xmlStr){varxmlDoc=null;if(window.ActiveXObject){xmlDoc=newwindow.ActiveXObject("Microsoft.XMLDOM");if(xmlDoc){xmlDoc.async=false;xmlDoc.loadXML(xmlStr);}}elseif(document.implementation&amp;&amp;document.implementation.createDocument&amp;&amp;DOMParser){xmlDoc=document.imp</summary><published>2012-02-28T14:18:00Z</published><updated>2012-02-28T14:18:00Z</updated><author><name>随机</name><uri>http://www.cnblogs.com/Random/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Random/archive/2012/02/28/2372531.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Random/archive/2012/02/28/2372531.html"/><content type="html">&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;function&lt;/span&gt;&amp;nbsp;getXMLDOM(xmlStr){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;var&lt;/span&gt;&amp;nbsp;xmlDoc=&lt;span style="color: #0000FF;"&gt;null&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&amp;nbsp;(window.ActiveXObject)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlDoc&amp;nbsp;=&amp;nbsp;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&amp;nbsp;window.ActiveXObject("Microsoft.XMLDOM");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;(xmlDoc){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlDoc.async&amp;nbsp;=&amp;nbsp;&lt;span style="color: #0000FF;"&gt;false&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlDoc.loadXML(xmlStr);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;span style="color: #0000FF;"&gt;else&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;(document.implementation&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;document.implementation.createDocument&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;DOMParser){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlDoc&amp;nbsp;=&amp;nbsp;document.implementation.createDocument('','',&lt;span style="color: #0000FF;"&gt;null&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;parser&amp;nbsp;=&amp;nbsp;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&amp;nbsp;DOMParser();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlDoc&amp;nbsp;=&amp;nbsp;parser.parseFromString(xmlStr,"text/xml");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&amp;nbsp;xmlDoc;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;function&lt;/span&gt;&amp;nbsp;xmlToJson(xml)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;var&lt;/span&gt;&amp;nbsp;obj&amp;nbsp;=&amp;nbsp;{};&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&amp;nbsp;(xml.nodeType&amp;nbsp;==&amp;nbsp;1)&amp;nbsp;{&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&amp;nbsp;(xml.attributes.length&amp;nbsp;&amp;gt;&amp;nbsp;0)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;obj["$attr"]&amp;nbsp;=&amp;nbsp;{};&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;for&lt;/span&gt;&amp;nbsp;(&lt;span style="color: #0000FF;"&gt;var&lt;/span&gt;&amp;nbsp;j&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;j&amp;nbsp;&amp;lt;&amp;nbsp;xml.attributes.length;&amp;nbsp;j++)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;var&lt;/span&gt;&amp;nbsp;attribute&amp;nbsp;=&amp;nbsp;xml.attributes.item(j);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;obj["$attr"][attribute.nodeName]&amp;nbsp;=&amp;nbsp;attribute.nodeValue;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span style="color: #0000FF;"&gt;else&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&amp;nbsp;(xml.nodeType&amp;nbsp;==&amp;nbsp;3&amp;nbsp;||&amp;nbsp;xml.nodeType&amp;nbsp;==&amp;nbsp;4)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;obj&amp;nbsp;=&amp;nbsp;xml.nodeValue;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&amp;nbsp;(xml.hasChildNodes())&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;for&lt;/span&gt;(&lt;span style="color: #0000FF;"&gt;var&lt;/span&gt;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;xml.childNodes.length;&amp;nbsp;i++)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;var&lt;/span&gt;&amp;nbsp;item&amp;nbsp;=&amp;nbsp;xml.childNodes.item(i);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;var&lt;/span&gt;&amp;nbsp;nodeName&amp;nbsp;=&amp;nbsp;item.nodeName;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style="color: #0000FF;"&gt;typeof&lt;/span&gt;&amp;nbsp;obj[nodeName]&amp;nbsp;==&amp;nbsp;"undefined")&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;(&lt;span style="color: #0000FF;"&gt;typeof&lt;/span&gt;&amp;nbsp;item.nodeValue==="string"){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item.nodeType===4&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;(nodeName="$cdata");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item.nodeValue.replace(/\s/g,"")!==""&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;(obj[nodeName]&amp;nbsp;=&amp;nbsp;xmlToJson(item));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;span style="color: #0000FF;"&gt;else&lt;/span&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;obj[nodeName]&amp;nbsp;=&amp;nbsp;xmlToJson(item);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span style="color: #0000FF;"&gt;else&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span style="color: #0000FF;"&gt;typeof&lt;/span&gt;&amp;nbsp;obj[nodeName].length&amp;nbsp;==&amp;nbsp;"undefined")&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;var&lt;/span&gt;&amp;nbsp;old&amp;nbsp;=&amp;nbsp;obj[nodeName];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;obj[nodeName]&amp;nbsp;=&amp;nbsp;[];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;obj[nodeName].push(old);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;obj[nodeName]&amp;nbsp;&lt;span style="color: #0000FF;"&gt;instanceof&lt;/span&gt;&amp;nbsp;Array&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;obj[nodeName].push(xmlToJson(item));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&amp;nbsp;obj;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;function&lt;/span&gt;&amp;nbsp;xml2json(xml){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&amp;nbsp;xmlToJson(getXMLDOM(xml));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/Random/aggbug/2372531.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Random/archive/2012/02/28/2372531.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Random/archive/2012/01/30/2332361.html</id><title type="text">碎片4</title><summary type="text">1.又一年过去了，感觉这一年收获不是很多；2.买了相机研究了下摄影，然后拍的时间也不多；3.拿了驾照，然后就没上过路了；4.工作内容有一些小改变；5.又经历了一次修炼；</summary><published>2012-01-30T11:30:00Z</published><updated>2012-01-30T11:30:00Z</updated><author><name>随机</name><uri>http://www.cnblogs.com/Random/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Random/archive/2012/01/30/2332361.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Random/archive/2012/01/30/2332361.html"/><content type="html">&lt;p&gt;1.又一年过去了，感觉这一年收获不是很多；&lt;/p&gt;&lt;p&gt;2.买了相机研究了下摄影，然后拍的时间也不多；&lt;/p&gt;&lt;p&gt;3.拿了驾照，然后就没上过路了；&lt;/p&gt;&lt;p&gt;4.工作内容有一些小改变；&lt;br /&gt;&lt;/p&gt;&lt;p&gt;5.又经历了一次修炼； &lt;br /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Random/aggbug/2332361.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Random/archive/2012/01/30/2332361.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Random/archive/2011/12/28/2305398.html</id><title type="text">PhoneGap开发环境搭建</title><summary type="text">项目中要用PhoneGap开发，了解了下基本规则，记录一下，以备后查。(只针对Android平台)</summary><published>2011-12-28T13:31:00Z</published><updated>2011-12-28T13:31:00Z</updated><author><name>随机</name><uri>http://www.cnblogs.com/Random/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Random/archive/2011/12/28/2305398.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Random/archive/2011/12/28/2305398.html"/><content type="html">&lt;div&gt;&lt;div&gt;项目中要用PhoneGap开发，了解了下基本规则，记录一下，以备后查。(只针对Android平台)&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;&lt;strong&gt;一、安装&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;在安装PhoneGap开发环境之前，需要先安装以下框架：&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/span&gt;1.&lt;a href="http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u2-download-1377129.html" target="_blank"&gt;Java SDK&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/span&gt;2.&lt;a href="http://www.eclipse.org/downloads/" target="_blank"&gt;Eclipse&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/span&gt;3.&lt;a href="http://developer.android.com/sdk/index.html" target="_blank"&gt;Android SDK&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/span&gt;4.&lt;a href="http://developer.android.com/sdk/eclipse-adt.html" target="_blank"&gt;ADT Plugin&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/span&gt;5.&lt;a href="http://phonegap.com/download" target="_blank"&gt;PhoneGap&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;说明：&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/span&gt;1.Java SDK直接下载安装即可，没什么可说的，安装不了就是人品问题了;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/span&gt;2.Eclipse 也是直接下载安装，建议为classic版的;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/span&gt;3.Android SDK和ADT Plugin安装完成后，重启eclipse进入Window-&amp;gt;Android SDK Manager进行选择要安装的Android开发框架进行安装&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt; &lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/random/phonegap/AndroidSDKManager.jpg" alt="" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/span&gt;4.PhoneGap包不用安装，直接解压。&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;二、第一个PhoneGap项目&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;1.在eclipse中新建Android Project，名字神马的随便取吧；&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;2.在项目的目录下，建两个文件夹：&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt; &lt;/span&gt;/libs&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt; &lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/span&gt;/assets/www&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;3.进入将刚刚下载并解压的PhoneGap包里Anroid目录，我们需要的资源都在这个目录下。&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt; &amp;nbsp;将phonegap-x.x.x.js这个js文件(具体名称视当时下载的版本而定)copy到/assets/www目录下,&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt; &amp;nbsp;把phonegap.jar文件copy到/libs目录下。&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt; &amp;nbsp;再把xml目录copy到android项目的res目录下。&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;4.在/assets/www下建立index.html文件，内容看起来像这样：&amp;nbsp;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000ff; "&gt;&amp;lt;!&lt;/span&gt;&lt;span style="color: #ff00ff; "&gt;DOCTYPE&amp;nbsp;HTML&lt;/span&gt;&lt;span style="color: #0000ff; "&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;p&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;html&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;head&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;title&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;PhoneGap&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;title&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;script&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;type&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="text/javascript"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;charset&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="utf-8"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;src&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="phonegap-x.x.x.js"&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;script&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;head&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;body&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;h1&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;Hello&amp;nbsp;World&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;h1&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;body&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;html&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;5.将以下权限配置的xml内容copy到AndroidManifest.xml文件中：&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;supports-screens&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;android:largeScreens&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="true"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&lt;br /&gt;android:normalScreens&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="true"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&lt;br /&gt;android:smallScreens&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="true"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&lt;br /&gt;android:resizeable&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="true"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&lt;br /&gt;android:anyDensity&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="true"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;uses-permission&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;android:name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="android.permission.CAMERA"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;uses-permission&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;android:name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="android.permission.VIBRATE"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;uses-permission&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;android:name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="android.permission.ACCESS_COARSE_LOCATION"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;uses-permission&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;android:name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="android.permission.ACCESS_FINE_LOCATION"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;uses-permission&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;android:name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;uses-permission&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;android:name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="android.permission.READ_PHONE_STATE"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;uses-permission&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;android:name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="android.permission.INTERNET"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;uses-permission&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;android:name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="android.permission.RECEIVE_SMS"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;uses-permission&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;android:name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="android.permission.RECORD_AUDIO"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;uses-permission&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;android:name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="android.permission.MODIFY_AUDIO_SETTINGS"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;uses-permission&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;android:name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="android.permission.READ_CONTACTS"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;uses-permission&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;android:name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="android.permission.WRITE_CONTACTS"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;uses-permission&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;android:name&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="android.permission.WRITE_EXTERNAL_STORAGE"&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;span class="Apple-style-span" style="font-family: verdana, 'courier new'; line-height: 21px; font-size: 14px; "&gt;&lt;span style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;span style="color: #0000ff; "&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;span style="color: #800000; "&gt;uses-permission&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;span style="color: #ff0000; "&gt;android:name&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;span style="color: #0000ff; "&gt;="android.permission.ACCESS_NETWORK_STATE"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;span style="color: #0000ff; "&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;span style="color: #0000ff; "&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;span style="color: #800000; "&gt;uses-permission&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;span style="color: #ff0000; "&gt;android:name&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;span style="color: #0000ff; "&gt;="android.permission.GET_ACCOUNTS"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;span style="color: #0000ff; "&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;font class="Apple-style-span" color="#0000FF" face="'Courier New'" size="3"&gt;&lt;span class="Apple-style-span" style="font-size: 13px; line-height: 19px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;6.将以下内容添加到AndroidManifest.xml文件的activity标签中:&lt;/div&gt;&lt;p&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;android:configChanges="orientation|keyboardHidden&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;7.AndroidManifest.xml最后看起来会像这样：&lt;/div&gt;&lt;div&gt;&lt;span style="white-space: pre; "&gt; &lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/random/phonegap/manifest.jpg" width="790" height="810" alt="" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;8.在刚刚新建的Android Project中找到libs目录并在phonegap-x.x.x.jar上点击右键，选择&amp;nbsp;Build Path-&amp;gt;Add to Build Path&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt; &lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/random/phonegap/2011-12-27_222917.jpg" width="692" height="537" alt="" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;9.最后再修改下src下的Java主文件：&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt; &lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/span&gt;1)添加import com.phonegap.*;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;2&lt;/span&gt;)将类改成继承为DroidGap;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt; &lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;3&lt;/span&gt;)删掉import android.app.Activity;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;4&lt;/span&gt;)把setContentView()这行替换为super.loadUrl("file:///android_asset/www/index.html");&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt; &lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;5&lt;/span&gt;)最后看起来就像这样：&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt; &lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/random/phonegap/2011-12-27_223635.jpg" width="452" height="199" alt="" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;p&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;然后就可以试着运行一下，成功的话会出现Hello World的界面。&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;三、PhoneGap Plugin&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;PhoneGap的插件机制其实就是一个android类导出为jar文件，然后再被PhoneGap的项目引用，再通过js来调API：&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;1.创建一个Android Project;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;2.打开Java主文件，将继承的类改为Plugin;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;3.引入以下类：&lt;/div&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #0000FF;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="color: #000000; font-family: verdana, 'courier new'; line-height: 21px; white-space: normal; font-size: 14px; "&gt;&lt;span style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;span style="color: #0000ff; "&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;import&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&amp;nbsp;com.phonegap.api.Plugin;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="color: #0000FF;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;import&lt;/span&gt;&amp;nbsp;com.phonegap.api.PluginResult;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;import&lt;/span&gt;&amp;nbsp;com.phonegap.api.PluginResult.Status;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;4.重写父类的execute方法：&lt;/div&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;div style="display: inline-block; "&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: verdana, 'courier new'; line-height: 21px; font-size: 14px; white-space: pre; "&gt; &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: #0000ff; "&gt;public&lt;/span&gt;&amp;nbsp;PluginResult&amp;nbsp;execute(String&amp;nbsp;action,&amp;nbsp;JSONArray&amp;nbsp;data,&amp;nbsp;String&amp;nbsp;callbackId)&amp;nbsp;{&lt;/div&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;PluginResult&amp;nbsp;pr=&lt;span style="color: #0000FF;"&gt;null&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;(action.equals("method1")){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;pr=&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&amp;nbsp;PluginResult(Status.IO_EXCEPTION,"method1");&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;span style="color: #0000FF;"&gt;else&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;(action.equals("method2")){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;pr=&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&amp;nbsp;PluginResult(Status.OK,"method2");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&amp;nbsp;pr;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt; &lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/span&gt;其中，第一个参数action可以作为分类调用时的类型，我们就可以用该参数来实现多方法功能。&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt; &lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/span&gt;返回的PluginResult实例可以通过状态Status类型的控制来描述当前结果的执行状态。&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt; &lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/span&gt;最后，代码看起来可能像这样：&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;img src="http://images.cnblogs.com/cnblogs_com/random/phonegap/2011-12-28_203647.jpg" width="665" height="388" alt="" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;5.将该类导出为jar(在类文件上右键-&amp;gt;Export-&amp;gt;JAR File)&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;6.回到之前创建的PhoneGap项目中，按上面添加jar包的方法再将该jar添加到工程中。&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;7.在/res/xml/plugins.xml文件中添加以下内容：&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt; &lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;span style="color: #800000;"&gt;plugin&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;span style="color: #FF0000;"&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;span style="color: #0000FF;"&gt;="PluginTest"&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;span style="color: #FF0000;"&gt;&amp;nbsp;value&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;span style="color: #0000FF;"&gt;="aralork.moblie.plugin.PluginTest"&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;span style="color: #0000FF;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt; &lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/span&gt;name是你在调用时要使用的类名，value是类在jar包中的全路径&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;8.&lt;/span&gt;最后再打开assets/www/index.html文件，写入类似于这样的内容：&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt; &lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: verdana, 'courier new'; line-height: 21px; font-size: 14px; "&gt;&lt;span style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;span style="color: #0000ff; "&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;font class="Apple-style-span" color="#000000"&gt; &lt;/font&gt;&lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;span style="color: #800000; "&gt;script&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;span style="color: #ff0000; "&gt;type&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;span style="color: #0000ff; "&gt;="text/javascript"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;span style="color: #ff0000; "&gt;&amp;nbsp;charset&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;span style="color: #0000ff; "&gt;="utf-8"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;span style="color: #ff0000; "&gt;&amp;nbsp;src&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;span style="color: #0000ff; "&gt;="phonegap-x.x.x.js"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;span style="color: #0000ff; "&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;span style="color: #800000; "&gt;script&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; line-height: 19px; font-size: 13px; "&gt;&lt;span style="color: #0000ff; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;script&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;type&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="text/javascript"&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PhoneGap.exec(successCallback,&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #008000;"&gt;//&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #008000;"&gt;成功后的回调方法&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;failureCallback,&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #008000;"&gt;//&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #008000;"&gt;失败后的回调方法&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;'&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;PluginTest&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;'&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;,&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #008000;"&gt;//&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #008000;"&gt;刚才配置的类名&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;'&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;method1&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;'&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #008000;"&gt;//&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #008000;"&gt;方法名称，就是之前提到的action参数&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;"&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;/sdcard&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;"&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;]);&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #008000;"&gt;//&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #008000;"&gt;sdcard路径&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #0000FF;"&gt;function&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;&amp;nbsp;successCallback(data){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert(&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;"&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;data:&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;"&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;+&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;data);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #0000FF;"&gt;function&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;&amp;nbsp;failureCallback(data){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert(&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;"&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;error:&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;"&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;+&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;data);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;script&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space:pre"&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;人品没问题的话，这样就能run起来了。。。。。。。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;相关链接：&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;PhoneGap 官方网站：&lt;a href="http://www.phonegap.com/" target="_blank"&gt;http://www.phonegap.com&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;&amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;&lt;/span&gt;PhoneGap 插件示例：&lt;a href="http://wiki.phonegap.com/w/page/36753494/How%20to%20Create%20a%20PhoneGap%20Plugin%20for%20Android" target="_blank"&gt;http://wiki.phonegap.com/w/page/36753494/How%20to%20Create%20a%20PhoneGap%20Plugin%20for%20Android&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/Random/aggbug/2305398.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Random/archive/2011/12/28/2305398.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Random/archive/2011/11/30/2269629.html</id><title type="text">PHP文件POST类</title><summary type="text">最近学着写点PHP，写了个文件POST的类，可以很蛋疼地在服务器端POST文件到另一台服务器上</summary><published>2011-11-30T13:07:00Z</published><updated>2011-11-30T13:07:00Z</updated><author><name>随机</name><uri>http://www.cnblogs.com/Random/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Random/archive/2011/11/30/2269629.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Random/archive/2011/11/30/2269629.html"/><content type="html">&lt;p&gt; 最近学着写点PHP，写了个文件POST的类，可以很蛋疼地在服务器端POST文件到另一台服务器上&amp;#8230;&amp;#8230;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&amp;lt;?php&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;class&lt;/span&gt;&amp;nbsp;SingleFileSender{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;private&lt;/span&gt;&amp;nbsp;&lt;span style="color: #800080;"&gt;$headers&lt;/span&gt;=&lt;span style="color: #0000FF;"&gt;array&lt;/span&gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;private&lt;/span&gt;&amp;nbsp;&lt;span style="color: #800080;"&gt;$boundary&lt;/span&gt;="";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;private&lt;/span&gt;&amp;nbsp;&lt;span style="color: #800080;"&gt;$postData&lt;/span&gt;="";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;*&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;{Array}&amp;nbsp;$url参数集&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{String}&amp;nbsp;path&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{String}&amp;nbsp;host&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;private&lt;/span&gt;&amp;nbsp;&lt;span style="color: #800080;"&gt;$urlParams&lt;/span&gt;=&lt;span style="color: #0000FF;"&gt;array&lt;/span&gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;function&lt;/span&gt;&amp;nbsp;__construct(&lt;span style="color: #800080;"&gt;$url&lt;/span&gt;){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$this&lt;/span&gt;-&amp;gt;updateURLParams(&lt;span style="color: #800080;"&gt;$url&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$this&lt;/span&gt;-&amp;gt;initHeaders();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;*&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;设置发送的header&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;{String}&amp;nbsp;$key&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;{String}&amp;nbsp;$value&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;function&lt;/span&gt;&amp;nbsp;setHeader(&lt;span style="color: #800080;"&gt;$key&lt;/span&gt;="",&lt;span style="color: #800080;"&gt;$value&lt;/span&gt;=""){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$this&lt;/span&gt;-&amp;gt;headers[&lt;span style="color: #800080;"&gt;$key&lt;/span&gt;]=&lt;span style="color: #800080;"&gt;$value&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;*&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;POST发送数据&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;{Array}&amp;nbsp;$datas&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"postName"=&amp;gt;"pic",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"fileName"=&amp;gt;"/data/a.text",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"file"=&amp;gt;"file&amp;nbsp;content",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"type"=&amp;gt;"text/plain"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"name"=&amp;gt;"text1",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"value"=&amp;gt;"text1's&amp;nbsp;content"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;function&lt;/span&gt;&amp;nbsp;post(&lt;span style="color: #800080;"&gt;$datas&lt;/span&gt;=&lt;span style="color: #0000FF;"&gt;array&lt;/span&gt;()){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$ret&lt;/span&gt;="";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$this&lt;/span&gt;-&amp;gt;updateBoundary();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$postData&lt;/span&gt;=&lt;span style="color: #800080;"&gt;$this&lt;/span&gt;-&amp;gt;getPostData(&lt;span style="color: #800080;"&gt;$datas&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$this&lt;/span&gt;-&amp;gt;headers["Content-Type"]="multipart/form-data;&amp;nbsp;boundary=".&lt;span style="color: #800080;"&gt;$this&lt;/span&gt;-&amp;gt;boundary;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$this&lt;/span&gt;-&amp;gt;headers["Content-Length"]=&lt;span style="color: #008080;"&gt;strlen&lt;/span&gt;(&lt;span style="color: #800080;"&gt;$postData&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$sendContent&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span style="color: #800080;"&gt;$this&lt;/span&gt;-&amp;gt;getHeaderStr(&lt;span style="color: #800080;"&gt;$this&lt;/span&gt;-&amp;gt;headers)."\r\n".&lt;span style="color: #800080;"&gt;$postData&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;echo&amp;nbsp;$sendContent;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$fp&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span style="color: #008080;"&gt;fsockopen&lt;/span&gt;(&lt;span style="color: #800080;"&gt;$this&lt;/span&gt;-&amp;gt;urlParams["host"],&amp;nbsp;80,&amp;nbsp;&lt;span style="color: #800080;"&gt;$errno&lt;/span&gt;,&amp;nbsp;&lt;span style="color: #800080;"&gt;$errstr&lt;/span&gt;,&amp;nbsp;30);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&amp;nbsp;(!&lt;span style="color: #800080;"&gt;$fp&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$ret&lt;/span&gt;="&lt;span style="color: #800080;"&gt;$errstr&lt;/span&gt;&amp;nbsp;(&lt;span style="color: #800080;"&gt;$errno&lt;/span&gt;)&amp;lt;br/&amp;gt;\n";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span style="color: #0000FF;"&gt;else&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008080;"&gt;fwrite&lt;/span&gt;(&lt;span style="color: #800080;"&gt;$fp&lt;/span&gt;,&amp;nbsp;&lt;span style="color: #800080;"&gt;$sendContent&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;while&lt;/span&gt;&amp;nbsp;(!&lt;span style="color: #008080;"&gt;feof&lt;/span&gt;(&lt;span style="color: #800080;"&gt;$fp&lt;/span&gt;))&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$ret&lt;/span&gt;.=&lt;span style="color: #008080;"&gt;fgets&lt;/span&gt;(&lt;span style="color: #800080;"&gt;$fp&lt;/span&gt;,&amp;nbsp;128);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008080;"&gt;fclose&lt;/span&gt;(&lt;span style="color: #800080;"&gt;$fp&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style="color: #800080;"&gt;$ret&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;*&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;初始化header&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;private&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;function&lt;/span&gt;&amp;nbsp;initHeaders(){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$this&lt;/span&gt;-&amp;gt;headers["Accept"]="*/*";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$this&lt;/span&gt;-&amp;gt;headers["Connection"]="Keep-Alive";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$this&lt;/span&gt;-&amp;gt;headers["Host"]=&lt;span style="color: #800080;"&gt;$this&lt;/span&gt;-&amp;gt;urlParams["host"];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;*&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;更新boundary&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;private&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;function&lt;/span&gt;&amp;nbsp;updateBoundary(){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$this&lt;/span&gt;-&amp;gt;boundary="BOUNDARY".&lt;span style="color: #008080;"&gt;microtime&lt;/span&gt;(&lt;span style="color: #0000FF;"&gt;true&lt;/span&gt;)*10000;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;*&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;获取要post的数据&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;{Array}&amp;nbsp;$datas&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@return&amp;nbsp;{String}&amp;nbsp;$ret&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;private&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;function&lt;/span&gt;&amp;nbsp;getPostData(&lt;span style="color: #800080;"&gt;$datas&lt;/span&gt;=&lt;span style="color: #0000FF;"&gt;array&lt;/span&gt;()){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$ret&lt;/span&gt;="";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$fileData&lt;/span&gt;=&lt;span style="color: #008080;"&gt;array_shift&lt;/span&gt;(&lt;span style="color: #800080;"&gt;$datas&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$ret&lt;/span&gt;="--".&lt;span style="color: #800080;"&gt;$this&lt;/span&gt;-&amp;gt;boundary."\r\n".&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'Content-Disposition:&amp;nbsp;form-data;&amp;nbsp;name="'.&lt;span style="color: #800080;"&gt;$fileData&lt;/span&gt;["postName"].'";&amp;nbsp;filename="'.&lt;span style="color: #800080;"&gt;$fileData&lt;/span&gt;["fileName"]."\"\r\n".&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"Content-Type:&amp;nbsp;".&lt;span style="color: #800080;"&gt;$fileData&lt;/span&gt;["type"]."\r\n\r\n".&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$fileData&lt;/span&gt;["file"]."\r\n";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;foreach&lt;/span&gt;(&lt;span style="color: #800080;"&gt;$datas&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;as&lt;/span&gt;&amp;nbsp;&lt;span style="color: #800080;"&gt;$k&lt;/span&gt;&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;span style="color: #800080;"&gt;$v&lt;/span&gt;){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$ret&lt;/span&gt;.="--".&lt;span style="color: #800080;"&gt;$this&lt;/span&gt;-&amp;gt;boundary."\r\n".&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'Content-Disposition:&amp;nbsp;form-data;&amp;nbsp;name="'.&lt;span style="color: #800080;"&gt;$v&lt;/span&gt;["name"]."\"\r\n\r\n".&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$v&lt;/span&gt;["value"]."\r\n";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$ret&lt;/span&gt;.="--".&lt;span style="color: #800080;"&gt;$this&lt;/span&gt;-&amp;gt;boundary."--\r\n";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style="color: #800080;"&gt;$ret&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;*&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;更新URL参数&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;{String}&amp;nbsp;$url&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;private&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;function&lt;/span&gt;&amp;nbsp;updateURLParams(&lt;span style="color: #800080;"&gt;$url&lt;/span&gt;){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;(&lt;span style="color: #008080;"&gt;preg_match&lt;/span&gt;('/^http\:\/\/([^\/]+)\/?(.*)/',&lt;span style="color: #800080;"&gt;$url&lt;/span&gt;,&lt;span style="color: #800080;"&gt;$rets&lt;/span&gt;)){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$rets&lt;/span&gt;[1]&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$this&lt;/span&gt;-&amp;gt;urlParams["host"]=&lt;span style="color: #800080;"&gt;$rets&lt;/span&gt;[1];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$rets&lt;/span&gt;[2]&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$this&lt;/span&gt;-&amp;gt;urlParams["path"]=&lt;span style="color: #800080;"&gt;$rets&lt;/span&gt;[2];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;*&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;将header数组转化为String&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;{Array}&amp;nbsp;$headerArr&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@return&amp;nbsp;{String}&amp;nbsp;$ret&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;private&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;function&lt;/span&gt;&amp;nbsp;getHeaderStr(&lt;span style="color: #800080;"&gt;$headerArr&lt;/span&gt;=&lt;span style="color: #0000FF;"&gt;array&lt;/span&gt;()){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$ret&lt;/span&gt;="POST&amp;nbsp;/".&lt;span style="color: #800080;"&gt;$this&lt;/span&gt;-&amp;gt;urlParams["path"]."&amp;nbsp;HTTP/1.1\r\n";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;foreach&lt;/span&gt;(&lt;span style="color: #800080;"&gt;$headerArr&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;as&lt;/span&gt;&amp;nbsp;&lt;span style="color: #800080;"&gt;$k&lt;/span&gt;=&amp;gt;&lt;span style="color: #800080;"&gt;$v&lt;/span&gt;){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$ret&lt;/span&gt;.="&lt;span style="color: #800080;"&gt;$k&lt;/span&gt;:&amp;nbsp;&lt;span style="color: #800080;"&gt;$v&lt;/span&gt;\r\n";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style="color: #800080;"&gt;$ret&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;?&amp;gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;使用示例：&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&amp;lt;?php&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;include&lt;/span&gt;&amp;nbsp;"SingleFileSender.php";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$fileName&lt;/span&gt;="1.jpg";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$handle&lt;/span&gt;&amp;nbsp;=&amp;nbsp;@&lt;span style="color: #008080;"&gt;fopen&lt;/span&gt;(&lt;span style="color: #800080;"&gt;$fileName&lt;/span&gt;,&amp;nbsp;"r");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$file&lt;/span&gt;=&lt;span style="color: #008080;"&gt;fread&lt;/span&gt;(&lt;span style="color: #800080;"&gt;$handle&lt;/span&gt;,&lt;span style="color: #008080;"&gt;filesize&lt;/span&gt;(&lt;span style="color: #800080;"&gt;$fileName&lt;/span&gt;));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008080;"&gt;fclose&lt;/span&gt;(&lt;span style="color: #800080;"&gt;$handle&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $sfs=new SingleFileSender("http://localhost/upload.php");&lt;/div&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #800080;"&gt;$sfs&lt;/span&gt;-&amp;gt;setHeader("Cookie","abc=123");&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;echo&lt;/span&gt;&amp;nbsp;&lt;span style="color: #800080;"&gt;$sfs&lt;/span&gt;-&amp;gt;post(&lt;span style="color: #0000FF;"&gt;array&lt;/span&gt;(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;array&lt;/span&gt;(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"postName"=&amp;gt;"pic",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"fileName"=&amp;gt;&lt;span style="color: #800080;"&gt;$fileName&lt;/span&gt;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"file"=&amp;gt;&lt;span style="color: #800080;"&gt;$file&lt;/span&gt;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "type"=&amp;gt;"image/pjpeg"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;array&lt;/span&gt;(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"name"=&amp;gt;"value1",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"value"=&amp;gt;"123456"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #0000FF;"&gt;array&lt;/span&gt;(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "name"=&amp;gt;"value2",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "value"=&amp;gt;&lt;span style="color: #008080;"&gt;&lt;/span&gt;"abcdef")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;));&lt;br /&gt;?&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;说明，通过url实例化对象后，支持对其header的设置。&lt;/p&gt;&lt;p&gt;&amp;nbsp;post参数为array类型，&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; 第一个参数为文件数据，包括postName,fileName,file,type只个参数&lt;/p&gt;&lt;p&gt;postName 可以让接收方知道传递的文件参数名称；&lt;/p&gt;&lt;p&gt;fileName 为文件名；&lt;/p&gt;&lt;p&gt;file 为文件的数据；&lt;/p&gt;&lt;p&gt;type 为文件的MIMI类型名称。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;后面的参数可无限增加，为普通的post参数，以name和value的形式传入 &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt; &lt;br /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Random/aggbug/2269629.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Random/archive/2011/11/30/2269629.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Random/archive/2011/10/28/2228209.html</id><title type="text">碎片3</title><summary type="text">1.今年又遇到些事，很纠结，又修练了一次；2.又颓废了段时间，该收收心认真做点事情了；3.最近看书的时间少了，得好好静下心来多看点书；4.性格还是那么地急、快，对于做事有利也有弊，得学会自我好好调节；5.不知道激情这个东西能不能永远保留，希望它只会沉寂和起伏，不会消失；6.上火了，口腔溃疡、长痘痘、牙疼、淋巴疼，真悲催。。。。</summary><published>2011-10-28T14:44:00Z</published><updated>2011-10-28T14:44:00Z</updated><author><name>随机</name><uri>http://www.cnblogs.com/Random/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Random/archive/2011/10/28/2228209.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Random/archive/2011/10/28/2228209.html"/><content type="html">&lt;div&gt;1.今年又遇到些事，很纠结，又修练了一次；&lt;br /&gt;2.又颓废了段时间，该收收心认真做点事情了；&lt;br /&gt;3.最近看书的时间少了，得好好静下心来多看点书；&lt;br /&gt;4.性格还是那么地急、快，对于做事有利也有弊，得学会自我好好调节；&lt;br /&gt;5.不知道激情这个东西能不能永远保留，希望它只会沉寂和起伏，不会消失；&lt;br /&gt;6.上火了，口腔溃疡、长痘痘、牙疼、淋巴疼，真悲催。。。。&lt;/div&gt;&lt;img src="http://www.cnblogs.com/Random/aggbug/2228209.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Random/archive/2011/10/28/2228209.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Random/archive/2011/09/28/2194812.html</id><title type="text">websocket draft-15 服务端握手Demo的perl实现</title><summary type="text">websocket这个坑爹的项目一直都在草案中，而且有时的更新变化还挺大的。目前最新的版本要先握手，信任后再发送相应数据，数据还掩码了。这次先实现了握手功能，其原理如下：</summary><published>2011-09-28T13:32:00Z</published><updated>2011-09-28T13:32:00Z</updated><author><name>随机</name><uri>http://www.cnblogs.com/Random/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Random/archive/2011/09/28/2194812.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Random/archive/2011/09/28/2194812.html"/><content type="html">&lt;p&gt; websocket这个坑爹的项目一直都在草案中，而且有时的更新变化还挺大的。目前最新的版本要先握手，信任后再发送相应数据，数据还掩码了。这次先实现了握手功能，其原理如下：&lt;/p&gt;&lt;p&gt;1.客端向服务器端发送类似这样的HTTP头：&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GET / HTTP/1.1&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Upgrade: websocket&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Connection: Upgrade&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Host: localhost:8000&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Sec-WebSocket-Origin: null&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Sec-WebSocket-Key: FcJ21uh+iiDs7haoaG1cKQ==&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Sec-WebSocket-Version: 8&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;其中&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; Upgrade:wesocket 描述了该信息是websocket协议，&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Host:localhost:8000 这个就是请求的主机地址和端口号，&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sec-WebSocket-Version：8 是版本号，这里是8，用的chrome14作的测试&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; Sec-WebSocket-Key: FcJ21uh+iiDs7haoaG1cKQ== 这条是很重要的，FcJ21uh+iiDs7haoaG1cKQ==是客户端提供的握手所用的key，需要服务器端根据该key作相应计算后返回一个对应的key来完成握手，具体的计算方法马上就会说到。&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;2. 服务器端&lt;br /&gt;&lt;/p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 服务器端接收到请求的数据后，先根据头来判断是否为websocket协议，是的话就会先作握手处理，然后再进行数据的相互发送，这里先只讨论握手，数据发送的内容下次再说了。。。。&lt;/div&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 握手步骤：&lt;/p&gt;&lt;p&gt;（1）服务器端获取到客户端发送过来的 Sec-WebSocket-Key 值（比如这里的 FcJ21uh+iiDs7haoaG1cKQ== ）；&lt;br /&gt;&lt;/p&gt;&lt;p&gt;（2）将获取到的key值与一个magic string &amp;#8220;258EAFA5-E914-47DA-95CA-C5AB0DC85B11&amp;#8221; 连接成一个新的key串 "FcJ21uh+iiDs7haoaG1cKQ==258EAFA5-E914-47DA-95CA-C5AB0DC85B11"，这个magic string为标准里给出的值，可以看作为一个唯一ID序列；&lt;/p&gt;&lt;p&gt;（3）将新生成的串进行SHA1编码，生成一个由多组两位16进制数构成的加密串，比如这里的 "FcJ21uh+iiDs7haoaG1cKQ==258EAFA5-E914-47DA-95CA-C5AB0DC85B11" 将生成 "11a8a543955aaf7f9a266c55b2a9cda3151cdec5"；&lt;br /&gt;&lt;/p&gt;&lt;p&gt;（4）把加密串按2位16进制数字分隔，进行base64编码生成最终的key：base64编码(11 a8 a5 43 95 5a af 7f 9a 26 6c 55 b2 a9 cd a3 15 1c de c5)；&lt;/p&gt;&lt;p&gt;（5）将最终生成的key以Sec-WebSocket-Accept:key值 整合到返回头中返回给客户端（该例子的key计算结果为 EailQ5Var3+aJmxVsqnNoxUc3sU=）：&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HTTP/1.1 101 Web Socket Protocol Handshake&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Upgrade: websocket&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Connection: Upgrade&lt;br /&gt;&amp;nbsp;&amp;nbsp;  Sec-WebSocket-Accept: EailQ5Var3+aJmxVsqnNoxUc3sU=&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WebSocket-Origin: localhost&lt;br /&gt;&amp;nbsp;&amp;nbsp;  WebSocket-Location: ws://localhost:8000&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;服务端应答后就完成了这一次的握手，完整代码如下：&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #008000;"&gt;#&lt;/span&gt;&lt;span style="color: #008000;"&gt;!perl&amp;nbsp;-w&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;use&lt;/span&gt;&amp;nbsp;strict;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;use&lt;/span&gt;&amp;nbsp;IO::Handle;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;use&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;Socket&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;use&lt;/span&gt;&amp;nbsp;Digest::SHA1&amp;nbsp;qw(sha1&amp;nbsp;sha1_hex&amp;nbsp;sha1_base64);&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;use&lt;/span&gt;&amp;nbsp;MIME::Base64;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;my&lt;/span&gt;&amp;nbsp;&lt;span style="color: #800080;"&gt;$buff&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;my&lt;/span&gt;&amp;nbsp;&lt;span style="color: #800080;"&gt;$port&lt;/span&gt;=&lt;span style="color: #800000;"&gt;8000&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;my&lt;/span&gt;&amp;nbsp;&lt;span style="color: #800080;"&gt;$host&lt;/span&gt;=&lt;span style="color: #000000; font-weight: bold;"&gt;'&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;localhost&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;'&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;my&lt;/span&gt;&amp;nbsp;&lt;span style="color: #800080;"&gt;$packhost&lt;/span&gt;=inet_aton(&lt;span style="color: #800080;"&gt;$host&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;my&lt;/span&gt;&amp;nbsp;&lt;span style="color: #800080;"&gt;$address&lt;/span&gt;=sockaddr_in(&lt;span style="color: #800080;"&gt;$port&lt;/span&gt;,&lt;span style="color: #800080;"&gt;$packhost&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;my&lt;/span&gt;&amp;nbsp;&lt;span style="color: #800080;"&gt;$msg&lt;/span&gt;=&lt;span style="color: #000000; font-weight: bold;"&gt;""&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;my&lt;/span&gt;&amp;nbsp;&lt;span style="color: #800080;"&gt;$magicString&lt;/span&gt;=&lt;span style="color: #000000; font-weight: bold;"&gt;"&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;258EAFA5-E914-47DA-95CA-C5AB0DC85B11&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;"&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;my&lt;/span&gt;&amp;nbsp;&lt;span style="color: #800080;"&gt;$serverKey&lt;/span&gt;=&lt;span style="color: #000000; font-weight: bold;"&gt;""&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;sub&lt;/span&gt;&amp;nbsp;getClientKey{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;my&lt;/span&gt;&amp;nbsp;&lt;span style="color: #800080;"&gt;$ret&lt;/span&gt;=&lt;span style="color: #000000; font-weight: bold;"&gt;""&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;(&lt;span style="color: #800080;"&gt;$_&lt;/span&gt;[&lt;span style="color: #800000;"&gt;0&lt;/span&gt;]=~m&lt;span style="color: #000000; font-weight: bold;"&gt;"&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;Sec-WebSocket-Key:&amp;nbsp;([^\s]*)&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;"&lt;/span&gt;s){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$ret&lt;/span&gt;=$&lt;span style="color: #800000;"&gt;1&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;span style="color: #0000FF;"&gt;else&lt;/span&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008000;"&gt;#&lt;/span&gt;&lt;span style="color: #008000;"&gt;print&amp;nbsp;"no&amp;nbsp;matched";&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$ret&lt;/span&gt;=~s/\s//g;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style="color: #800080;"&gt;$ret&lt;/span&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;sub&lt;/span&gt;&amp;nbsp;formatSHA1Hex{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;my&lt;/span&gt;&amp;nbsp;&lt;span style="color: #800080;"&gt;$ret&lt;/span&gt;=&lt;span style="color: #000000; font-weight: bold;"&gt;""&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;my&lt;/span&gt;&amp;nbsp;&lt;span style="color: #800080;"&gt;$len&lt;/span&gt;=&lt;span style="color: #0000FF;"&gt;length&lt;/span&gt;(&lt;span style="color: #800080;"&gt;$_&lt;/span&gt;[&lt;span style="color: #800000;"&gt;0&lt;/span&gt;]);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;my&lt;/span&gt;&amp;nbsp;&lt;span style="color: #800080;"&gt;$i&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;for&lt;/span&gt;(&lt;span style="color: #800080;"&gt;$i&lt;/span&gt;=&lt;span style="color: #800000;"&gt;0&lt;/span&gt;;&lt;span style="color: #800080;"&gt;$i&lt;/span&gt;&amp;lt;&lt;span style="color: #800080;"&gt;$len&lt;/span&gt;;&lt;span style="color: #800080;"&gt;$i&lt;/span&gt;+=&lt;span style="color: #800000;"&gt;2&lt;/span&gt;){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$ret&lt;/span&gt;.=&lt;span style="color: #0000FF;"&gt;chr&lt;/span&gt;(&lt;span style="color: #0000FF;"&gt;oct&lt;/span&gt;(&lt;span style="color: #000000; font-weight: bold;"&gt;"&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;0x&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;"&lt;/span&gt;.&lt;span style="color: #0000FF;"&gt;substr&lt;/span&gt;(&lt;span style="color: #800080;"&gt;$_&lt;/span&gt;[&lt;span style="color: #800000;"&gt;0&lt;/span&gt;],&lt;span style="color: #800080;"&gt;$i&lt;/span&gt;,&lt;span style="color: #800000;"&gt;2&lt;/span&gt;)));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style="color: #800080;"&gt;$ret&lt;/span&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;socket&lt;/span&gt;(SERVER,AF_INET,SOCK_STREAM,&lt;span style="color: #0000FF;"&gt;getprotobyname&lt;/span&gt;(&lt;span style="color: #000000; font-weight: bold;"&gt;'&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;tcp&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;'&lt;/span&gt;));&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;bind&lt;/span&gt;(SERVER,&lt;span style="color: #800080;"&gt;$address&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;listen&lt;/span&gt;(SERVER,&lt;span style="color: #800000;"&gt;10&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;while&lt;/span&gt;(&lt;span style="color: #800000;"&gt;1&lt;/span&gt;){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;accept&lt;/span&gt;(CLIENT,SERVER);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;sysread&lt;/span&gt;(CLIENT,&lt;span style="color: #800080;"&gt;$buff&lt;/span&gt;,&lt;span style="color: #800000;"&gt;1000&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$serverKey&lt;/span&gt;=encode_base64(formatSHA1Hex(sha1_hex(getClientKey(&lt;span style="color: #800080;"&gt;$buff&lt;/span&gt;).&lt;span style="color: #800080;"&gt;$magicString&lt;/span&gt;)));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;print&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000; font-weight: bold;"&gt;"&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;$buff\n&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;"&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800080;"&gt;$msg&lt;/span&gt;=&lt;span style="color: #000000; font-weight: bold;"&gt;"&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;HTTP/1.1&amp;nbsp;101&amp;nbsp;Web&amp;nbsp;Socket&amp;nbsp;Protocol&amp;nbsp;Handshake\r\n&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;"&lt;/span&gt;.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #000000; font-weight: bold;"&gt;"&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;Upgrade:&amp;nbsp;websocket\r\n&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;"&lt;/span&gt;.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #000000; font-weight: bold;"&gt;"&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;Connection:&amp;nbsp;Upgrade\r\n&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;"&lt;/span&gt;.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #000000; font-weight: bold;"&gt;"&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;Sec-WebSocket-Accept:&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;"&lt;/span&gt;.&lt;span style="color: #800080;"&gt;$serverKey&lt;/span&gt;.&lt;span style="color: #000000; font-weight: bold;"&gt;"&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;\r\n&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;"&lt;/span&gt;.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #000000; font-weight: bold;"&gt;"&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;WebSocket-Origin:&amp;nbsp;$host\r\n&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;"&lt;/span&gt;.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #000000; font-weight: bold;"&gt;"&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;WebSocket-Location:&amp;nbsp;ws://$host:$port\r\n\r\n&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;"&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CLIENT-&amp;gt;autoflush(&lt;span style="color: #800000;"&gt;1&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;syswrite&lt;/span&gt;(CLIENT,&lt;span style="color: #800080;"&gt;$msg&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;close&lt;/span&gt;&amp;nbsp;CLIENT;&lt;br /&gt;}&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;close&lt;/span&gt;&amp;nbsp;SERVER;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;exit&lt;/span&gt;&amp;nbsp;&lt;span style="color: #800000;"&gt;1&lt;/span&gt;;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;为了让代码尽量简单，省去了websockt协议验证之类的细节部分，只列出了核心功能。而且此次只实现了握手部分，而且比较简单，数据相互通信的部分看哪天又闲得蛋疼的时候再写了。。。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Random/aggbug/2194812.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Random/archive/2011/09/28/2194812.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Random/archive/2011/08/28/2155885.html</id><title type="text">w3ctech 2011 北京站(组图)</title><summary type="text"/><published>2011-08-27T16:09:00Z</published><updated>2011-08-27T16:09:00Z</updated><author><name>随机</name><uri>http://www.cnblogs.com/Random/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Random/archive/2011/08/28/2155885.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Random/archive/2011/08/28/2155885.html"/><content type="html">&lt;div&gt;&lt;strong&gt;&lt;span style="font-size: 14pt;"&gt;门前的牌子&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/random/w3ctech2011/01.jpg" /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;strong&gt;&lt;span style="font-size: 14pt;"&gt;大厅&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/random/w3ctech2011/02.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;&lt;span style="font-size: 14pt;"&gt;一推低价技术书籍&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/random/w3ctech2011/04.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;&lt;span style="font-size: 14pt;"&gt;会场&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/random/w3ctech2011/03.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/random/w3ctech2011/05.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;&lt;span style="font-size: 14pt;"&gt;嘉宾席&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/random/w3ctech2011/26.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;&lt;span style="font-size: 14pt;"&gt;人渐渐到齐&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/random/w3ctech2011/17.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/random/w3ctech2011/18.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;&lt;span style="font-size: 14pt;"&gt;准备工作&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/random/w3ctech2011/06.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;&lt;span style="font-size: 14pt;"&gt;w3c中国区负责人 安琪 第一个演讲&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/random/w3ctech2011/07.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/random/w3ctech2011/08.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;&lt;span style="font-size: 14pt;"&gt;焦峰同学分享了浏览器兼容性的相关问题&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/random/w3ctech2011/09.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/random/w3ctech2011/10.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/random/w3ctech2011/11.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;&lt;span style="font-size: 14pt;"&gt;石川同学分享的是JQuery的相关内容&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/random/w3ctech2011/15.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;&lt;span style="font-size: 14pt;"&gt;摄影哥&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/random/w3ctech2011/12.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;&lt;span style="font-size: 14pt;"&gt;微博大屏幕，有亮点哦。。。&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/random/w3ctech2011/13.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;&lt;span style="font-size: 14pt;"&gt;MBP啊有木有～～～&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/random/w3ctech2011/16.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;&lt;span style="font-size: 14pt;"&gt;貘大现场提问&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/random/w3ctech2011/14.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;&lt;span style="font-size: 14pt;"&gt;外籍男主持，据说是央视国际频道天气预报的主持。。。专业啊。。&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/random/w3ctech2011/19.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;&lt;span style="font-size: 14pt;"&gt;新浪微博的吴侃同学分享bigpipe开发方式&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/random/w3ctech2011/20.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/random/w3ctech2011/21.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/random/w3ctech2011/22.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;&lt;span style="font-size: 14pt;"&gt;winter大大分享的主题是JS in JS&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/random/w3ctech2011/23.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;&lt;span style="font-size: 14pt;"&gt;于是当时整个场面被winter hold住了&amp;#8230;&amp;#8230;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/random/w3ctech2011/24.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;&lt;span style="font-size: 14pt;"&gt;现场提问，这哥们发型很帅。。。&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/random/w3ctech2011/27.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;&lt;span style="font-size: 14pt;"&gt;偶上墙了。。。。&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/random/w3ctech2011/25.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;&lt;span style="font-size: 14pt;"&gt;旁边的同学中奖了。&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/random/w3ctech2011/28.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;&lt;span style="font-size: 14pt;"&gt;小合照&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/random/w3ctech2011/30.jpg" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;&lt;span style="font-size: 14pt;"&gt;晚餐&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/random/w3ctech2011/29.jpg" /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Random/aggbug/2155885.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Random/archive/2011/08/28/2155885.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Random/archive/2011/07/31/2122332.html</id><title type="text">工作四周年纪念</title><summary type="text">2007.07.31 - 2011.07.31继续加油。</summary><published>2011-07-30T16:02:00Z</published><updated>2011-07-30T16:02:00Z</updated><author><name>随机</name><uri>http://www.cnblogs.com/Random/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Random/archive/2011/07/31/2122332.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Random/archive/2011/07/31/2122332.html"/><content type="html">&lt;p&gt; 2007.07.31 - 2011.07.31&lt;/p&gt;&lt;p&gt;继续加油。 &lt;br /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Random/aggbug/2122332.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Random/archive/2011/07/31/2122332.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
