<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[带着梦想去追]]></title>
<link>http://yoker.sc0826.com/</link>
<description><![CDATA[采用C#,Python语言，专注于基于互联网的Web,WinForm程序开发]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog2 v2.4]]></copyright>
<webMaster><![CDATA[yoker.wu@gmail.com(Yoker.Wu)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>带着梦想去追</title> 
	<url>http://yoker.sc0826.com/images/logos.gif</url> 
	<link>http://yoker.sc0826.com/</link> 
	<description>带着梦想去追</description> 
</image>

			<item>
			<link>http://yoker.sc0826.com/default.asp?id=487</link>
			<title><![CDATA[［2009］公司年终会议及个人感想]]></title>
			<author>yoker.wu@gmail.com(Yoker)</author>
			<category><![CDATA[生　活]]></category>
			<pubDate>Fri,05 Feb 2010 23:58:56 +0800</pubDate>
			<guid>http://yoker.sc0826.com/default.asp?id=487</guid>	
		<description><![CDATA[　　不知不觉的进入<a target="_blank" href="http://www.it.com.cn/">IT世界网</a>已经快满1年了，一年来做过的东西回头来看，确实不少了，至少今天的回忆上提到的很多内容都和我有关，很是高兴。然后不尽人意的地方也很多很多……<br/><br/>　　回忆是从早上9点开始的，地点居然是在国安局对面的酒店楼上，据说酒店的客服人员也非常牛，貌似酒店就是政府机关的一部分吧。北京宋老总的开场整体气氛不错，但随后各个大区经理的汇报着实让人提不起精神来，一串串数据直接摆上来而已，其实在这个会议上，数字纵然重要，但我们更希望听到的是他们在这一年中的奋斗历程，经验总结。<br/><br/>　　下午3点后开始才是咱们网站部的总结，今年的收支达到了平衡，再没有让集团供血而活下来。听上去很是高兴的，所以网站销售部的同事对给予帮助的领导鞠躬了。在我看来尤其喜剧，而后他说的那番话让我整么也没有想到的，原话就不说了，他就是希望来年更能够等到领导的支持，回来磕头。悲哀……<br/><br/>　　最后是北京数码连锁老大和集团老总的讲话，这两位领导人说出的话真的是很让人兴奋，特别是集团老总对集团来年计划、未来的规划宏图的讲话。我想在座的每一位，都能够从他的话中听出自己的位置，明白自己的责任。更详细阐述了怎么样才是一个真正的企业家，怎么样才可以成为一个真正的企业家。最后告诫大家要经常的身体锻炼，别再像公司另外一个领导那样腰肌劳损，年轻不觉得，老了是想锻炼都没办法了。]]></description>
		</item>
		
			<item>
			<link>http://yoker.sc0826.com/default.asp?id=486</link>
			<title><![CDATA[［实践］可编辑DataGridViewComboBoxColumn实现方法两例]]></title>
			<author>yoker.wu@gmail.com(Yoker)</author>
			<category><![CDATA[编　程]]></category>
			<pubDate>Tue,02 Feb 2010 00:33:31 +0800</pubDate>
			<guid>http://yoker.sc0826.com/default.asp?id=486</guid>	
		<description><![CDATA[　　在<a target="_blank" href="http://www.google.cn/search?hl=zh-CN&amp;q=DataGridView&amp;client=pub-9809305251274649">DataGridView</a>控件使用的过程中发现，当他列属性设置为DataGridViewComboBoxColumn的时候，这个<a target="_blank" href="http://www.google.cn/search?hl=zh-CN&amp;q=ComboBox&amp;client=pub-9809305251274649">ComboBox</a>其实只是一个具有自动完成功能的下拉列表框，并不允许我们输入自己的数据。而我目前的需求其实是想要一个可以自动完成且具有输入自定义数据的功能，怎么办呐？只有<a target="_blank" href="http://www.google.cn/search?hl=zh-CN&amp;q=%E8%87%AA%E5%AE%9A%E4%B9%89DataGridViewColumn&amp;client=pub-9809305251274649">自定义DataGridViewColumn</a>可以实现，在Google大量资料后，有了下面两个实现方式：<br/><br/>方式一：继承<a target="_blank" href="http://www.google.cn/search?hl=zh-CN&amp;q=DataGridViewComboBoxCell&amp;client=pub-9809305251274649">DataGridViewComboBoxCell</a>控件，重写<a target="_blank" href="http://www.google.cn/search?hl=zh-CN&amp;q=InitializeEditingControl&amp;client=pub-9809305251274649">InitializeEditingControl</a>方法。<br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://yoker.sc0826.com/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">&nbsp;&nbsp;&nbsp;&nbsp;public class DataGridViewComboEditBoxCell : DataGridViewComboBoxCell<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 重写初始化控件的编辑状态<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public override void InitializeEditingControl(int rowIndex, object initialFormattedValue, DataGridViewCellStyle dataGridViewCellStyle)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;base.InitializeEditingControl(rowIndex, initialFormattedValue, dataGridViewCellStyle);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ComboBox comboBox = base.DataGridView.EditingControl as ComboBox;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (comboBox != null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;comboBox.Dro&#112;DownStyle = ComboBoxStyle.Dro&#112;Down;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;comboBox.Leave += new EventHandler(comboBox_Leave);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.Value = comboBox.Text;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 绑定事件，处理当用户输入的数据在原ComboBox列表中不存在时，增加数据<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private void comboBox_Leave(object sender, EventArgs e)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ComboBox comboBox = sender as ComboBox;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;comboBox.Leave -= new EventHandler(comboBox_Leave);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (base.DataGridView.CurrentCell != null &amp;&amp; base.DataGridView.CurrentCell.OwningColumn is DataGridViewComboEditBoxColumn)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataGridViewComboEditBoxColumn col = base.DataGridView.CurrentCell.OwningColumn as DataGridViewComboEditBoxColumn;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!col.Items.Contains(comboBox.Text))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;col.Items.Add(comboBox.Text);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;base.DataGridView.CurrentCell.Value = comboBox.Text;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;public class DataGridViewComboEditBoxColumn : DataGridViewComboBoxColumn<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public DataGridViewComboEditBoxColumn()<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataGridViewComboEditBoxCell objCell = new DataGridViewComboEditBoxCell();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.CellTemplate = objCell;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}</div></div><br/>方法二：继承DataGridView，重写<a target="_blank" href="http://www.google.cn/search?hl=zh-CN&amp;q=OnEditingControlShowing&amp;client=pub-9809305251274649">OnEditingControlShowing</a>方法。<br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://yoker.sc0826.com/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">&nbsp;&nbsp;&nbsp;&nbsp;public class DataGridViewEx : DataGridView<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;protected override void OnEditingControlShowing(DataGridViewEditingControlShowingEventArgs e)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (CurrentCell != null &amp;&amp; CurrentCell.OwningColumn is DataGridViewComboBoxColumnEx)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataGridViewComboBoxColumnEx col = CurrentCell.OwningColumn as DataGridViewComboBoxColumnEx;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//修改组合框的样式<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (col.Dro&#112;DownStyle != ComboBoxStyle.Dro&#112;DownList)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ComboBox comboBox = e.Control as ComboBox;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;comboBox.Dro&#112;DownStyle = col.Dro&#112;DownStyle;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;comboBox.Leave += new EventHandler(comboBox_Leave);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;base.OnEditingControlShowing(e);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 当焦点离开时，需要将新输入的值加入到组合框的 Items 列表中<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;sender&#34;&gt;&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;e&#34;&gt;&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void comboBox_Leave(object sender, EventArgs e)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ComboBox comboBox = sender as ComboBox;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;comboBox.Leave -= new EventHandler(comboBox_Leave);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (CurrentCell != null &amp;&amp; CurrentCell.OwningColumn is DataGridViewComboBoxColumnEx)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataGridViewComboBoxColumnEx col = CurrentCell.OwningColumn as DataGridViewComboBoxColumnEx;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;col.Items.Add(comboBox.Text);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CurrentCell.Value = comboBox.Text;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;public class DataGridViewComboBoxColumnEx : DataGridViewComboBoxColumn<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private ComboBoxStyle dro&#112;DownStyle;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// 控制组合框的外观和功能<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Category(&#34;外观&#34;),Description(&#34;控制组合框的外观和功能&#34;), DefaultValue(ComboBoxStyle.Dro&#112;DownList)]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public ComboBoxStyle Dro&#112;DownStyle<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get { return dro&#112;DownStyle; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set { dro&#112;DownStyle = value; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public DataGridViewComboBoxColumnEx()<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dro&#112;DownStyle = ComboBoxStyle.Dro&#112;DownList;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}</div></div>]]></description>
		</item>
		
			<item>
			<link>http://yoker.sc0826.com/default.asp?id=485</link>
			<title><![CDATA[［笑话］比较搞笑的一些内容]]></title>
			<author>yoker.wu@gmail.com(Yoker)</author>
			<category><![CDATA[幽　默]]></category>
			<pubDate>Mon,01 Feb 2010 00:39:36 +0800</pubDate>
			<guid>http://yoker.sc0826.com/default.asp?id=485</guid>	
		<description><![CDATA[　　笑着生活是一天，愁眉苦脸也是一天，你愿意选择哪种呐？人生活有很多不如意，毕竟生活不是人民币，一切的事看开点就好了，在还没有受苦的时候，何苦去思考苦是什么滋味呐？<br/><br/>下面的内容为笑话转贴，尽情的笑吧！<br/><br/>手机和电话结婚,生个孩子叫小灵通,长的丑,信号又差,为了弄明白,手机和电话带小灵通去作了DNA测试,结果大吃一惊:乖乖!原来它爹是对讲机!!<br/><br/>一匹马跟一头驴相恋了,马说:俺爱你,驴说:俺也爱你,马说:你亲我吧,驴说:不行,俺娘说了,驴唇不对马嘴!<br/><br/>夜，酒鬼猛敲路灯杆，路人：干麻哪？酒鬼：敲门，可太太不给开，路人：你慢慢敲吧，你太太一定在家，你看上面还亮着灯呢!<br/><br/>王子被施了魔法，一年只能说一个字，他五年没说话攒够能讲五个字时，来到公主面前说“公主我爱你”公主只回答了一个字，王子就晕倒了。公主说“啥？”<br/><br/>还记得你上幼儿园时吗?老师对孩子们说:谁要是在床上撒尿第一次罚款三元,第二次罚款五元,第三次罚款十元.这时只见你大声问道:老师,包月多少钱?<br/><br/>尊敬的用户:您的手机自本月起已具有提款功能,请将手机砸扁插入提款机即可取款!如不成功请于本信息中心联系.中心网址:三达不溜点不吭你吭谁点靠姆<br/><br/>一老人丢车，当他将新买车放在楼下时他上了三把锁并夹了张纸：让你丫偷！第二天车没有丢，并多了两把锁和一张纸：让你丫骑<br/><br/>0看见8说;小样,胖就胖呗,还扎腰带.7对2说;跪吧,在跪20年也不嫁给你.6对9说酷就酷呗还玩倒立.8看见3跑过去大哭道;大哥谁砍的<br/><br/>史上最爆笑人名:赖月金（还是个男的）,刘产,姬从良,李昌富,范建,夏建仁,范统,朱逸群,秦寿生（不知他父母怎么想的）,庞光大,杜子腾。<br/><br/>猪八戒到韩国做美容,成了帅哥,于是到夜总会找美女。散场后八戒问美女:知道我以前有多丑?我是猪八戒!美女大惊:二师兄,我是老沙!<br/><br/>今天一早，一只老鼠误入花店被一只猫追赶，老鼠发现无路可逃，就顺手拿起一朵玫瑰花准备抵抗，猫看到立马低下了头羞愧的说：死鬼，太突然了!<br/><br/>某男正在公共厕所便秘，忽见一人飞奔而入，顷刻风雨交加稀里哗啦，便赞到：“哥们儿，真羡慕你呀，那么快。”那人说：“羡慕啥，没脱裤子呢！”<br/><br/>你到云南西双版纳旅游,途中遇到一群野猪的围攻,旅客均掏出食品,金钱,野猪不为所动,你掏出仅有的身份证.群猪跪而痛哭道:老大,我们可找到你了!<br/><br/>农夫挑担大粪老外看到后问:大爷,这酱多少钱一斤?农夫不语,老外用手沾了点放进嘴里,心想:你不告诉我多少钱一斤,我也不告诉你你的酱都臭了<br/><br/>海龟酒量高,可是今天却喝醉了,酒醒后朋友问:你咋还能喝醉?海龟叹气:唉!昨晚章鱼非和爷们划拳,狗日的那么多手,看都看不过来,输惨了!]]></description>
		</item>
		
			<item>
			<link>http://yoker.sc0826.com/default.asp?id=484</link>
			<title><![CDATA[［总结］人生的那丁点领悟]]></title>
			<author>yoker.wu@gmail.com(Yoker)</author>
			<category><![CDATA[美　文]]></category>
			<pubDate>Sun,31 Jan 2010 10:35:41 +0800</pubDate>
			<guid>http://yoker.sc0826.com/default.asp?id=484</guid>	
		<description><![CDATA[　　如果说前面的那个英语句子每天都记下一句，那么下面转贴的这个人生感悟，值得你每天都读一次。都是些平常都看到或者听到的句子，但还是值得每天去品味，这是为什么呐？（小沈阳口气）<br/><br/>以下语句摘录于ＱＱ空间一个网友的日志，喜欢就收下吧：<br/><br/>1、永远不要向任何人解释你自己。因为喜欢你的人不需要，而不喜欢你的人不会相信。 <br/><br/>2、别让某人成为你生命中的优先，当你只是他们生命中的一个选择时。人与人之间的关系只有在彼此达到平衡时，运作的最恰当。 <br/><br/>3、每天早上醒来时，我们可以有两个简单的选择，回头去睡，继续做梦，或者起身去追逐梦想，选择权在你手上。 <br/><br/>4、我们总让在乎我们的人为我们哭泣，并总为那些永远不会在乎我们的人哭泣，且我们在意那些永远不会为我们哭泣的人，这是存在于生命的真实，奇怪却真实，一旦你了解了，改变不会太迟。 <br/><br/>5、别在喜悦时许下承诺，别在忧伤时做出回答，别在愤怒时做下决定。三思而后行，做出睿智的行为。 <br/><br/>6、时间就像流水。你永远无法触摸同样的流水两次，因为已经流逝的流水不会再来，享受生命的每个当下！<br/> <br/>7、当你持续的说你非常忙碌，就永远不会得到空间，当你持续的说你没有时间，就永远不会得到时间，当你持续的说这件事明天再做，你的明天就永远不会来。]]></description>
		</item>
		
			<item>
			<link>http://yoker.sc0826.com/default.asp?id=483</link>
			<title><![CDATA[［心烦］有点抓狂的感觉]]></title>
			<author>yoker.wu@gmail.com(Yoker)</author>
			<category><![CDATA[生　活]]></category>
			<pubDate>Tue,26 Jan 2010 23:35:23 +0800</pubDate>
			<guid>http://yoker.sc0826.com/default.asp?id=483</guid>	
		<description><![CDATA[<span style="font-size:14pt"><span style="color:Red"><strong>自作自受</strong></span></span><br/><br/>我自作，我自受，好一杯苦涩的酒！]]></description>
		</item>
		
			<item>
			<link>http://yoker.sc0826.com/default.asp?id=482</link>
			<title><![CDATA[［分享］生气时候，脱口而出的英语句子列表]]></title>
			<author>yoker.wu@gmail.com(Yoker)</author>
			<category><![CDATA[知　识]]></category>
			<pubDate>Thu,21 Jan 2010 21:27:22 +0800</pubDate>
			<guid>http://yoker.sc0826.com/default.asp?id=482</guid>	
		<description><![CDATA[　　心情烦躁的时候，如果可以脱口而出的是一些英语，会是什么样的效果呐？相信一定很有意思，只要不是每次都是“Shit”、“fuck”之类的。这是从<a target="_blank" href="http://www.stu.com.cn/">中学生在线</a>网站上一个好友的日志中看到的，转下来偶尔翻翻，如果可以每天记上一句，那还是相当不错的。<br/><br/>1. Stop complaining! 别发牢骚！ <br/>2. You make me sick! 你真让我恶心！ <br/>3. What&#39;s wrong with you? 你怎么回事？ <br/>4. You shouldn&#39;t have done that! 你真不应该那样做! <br/>5. You&#39;re a jerk! 你是个废物/混球！ <br/>6. Don&#39;t talk to me like that! 别那样和我说话! <br/>7. Who do you think you are? 你以为你是谁？ <br/>8. What&#39;s your problem? 你怎么回事啊？ <br/>9. I hate you! 我讨厌你！ <br/>10. I don&#39;t want to see your face! 我不愿再见到你！ <br/>11. You&#39;re crazy! 你疯了! <br/>12. Are you insane/crazy/out of your mind? 你疯了吗？（美国人绝对常用！） <br/>13. Don&#39;t bother me. 别烦我。 <br/>14. Knock it off. 少来这一套。 <br/>15. Get out of my face. 从我面前消失！ <br/>16. Leave me alone. 走开。 <br/>17. Get lost.滚开！ <br/>18. Take a hike! 哪儿凉快哪儿歇着去吧。 <br/>19. You piss me off. 你气死我了。 <br/>20. It&#39;s none of your business. 关你屁事！ <br/>21. What&#39;s the meaning of this? 这是什么意思？ <br/>22. How dare you! 你敢！ <br/>23. Cut it out. 省省吧。 <br/>24. You stupid jerk! 你这蠢猪！ <br/>25. You have a lot of nerve. 脸皮真厚。 <br/>26. I&#39;m fed up. 我厌倦了。 <br/>27. I can&#39;t take it anymore. 我受不了了！ <br/>28. I&#39;ve had enough of your garbage. 我听腻了你的废话。 <br/>29. Shut up! 闭嘴！ <br/>30. What do you want? 你想怎么样？ <br/>31. Do you know what time it is? 你知道现在都几点吗？ <br/>32. What were you thinking? 你脑子进水啊？ <br/>33. How can you say that? 你怎么可以这样说？ <br/>34. Who says? 谁说的？ <br/>35. That&#39;s what you think! 那才是你脑子里想的！ <br/>36. Don&#39;t look at me like that. 别那样看着我。 <br/>37. What did you say? 你说什么？ <br/>38. You are out of your mind. 你脑子有毛病！ <br/>39. You make me so mad.你气死我了啦。 <br/>40. Dro&#112; dead. 去死吧！ <br/>41. Bug off. 滚蛋。 <br/>42. Don&#39;t give me your shit. 别跟我胡扯。 <br/>43. Don&#39;t give me your excuses/ No more excuses. 别找借口。 <br/>44. You&#39;re a pain in the ass. 你这讨厌鬼。 <br/>45. You&#39;re an asshole. 你这缺德鬼。 <br/>46. You bastard! 你这杂种！ <br/>47. Get over yourself. 别自以为是。 <br/>48. You&#39;re nothing to me. 你对我什么都不是。 <br/>49. It&#39;s not my fault. 不是我的错。 <br/>50. You look guilty. 你看上去心虚。 <br/>51. I can&#39;t help it. 我没办法。 <br/>52. That&#39;s your problem. 那是你的问题。 <br/>53. I don&#39;t want to hear it. 我不想听！ <br/>54. Get off my back. 少跟我罗嗦。 <br/>55. Give me a break. 饶了我吧。 <br/>56. Who do you think you&#39;re talking to? 你以为你在跟谁说话？ <br/>57. Look at this mess! 看看这烂摊子！ <br/>58. You&#39;re so careless. 你真粗心。 <br/>59. Why on earth didn&#39;t you tell me the truth? 你到底为什么不跟我说实话？ <br/>60. I&#39;m about to explode! 我肺都快要气炸了！ <br/>61. What a stupid idiot! 真是白痴一个！ <br/>62. I&#39;m not going to put up with this! 我再也受不了啦！ <br/>63. I never want to see your face again! 我再也不要见到你！ <br/>64. That&#39;s terrible. 真糟糕！ <br/>65. Just look at what you&#39;ve done! 看看你都做了些什么！ <br/>66. I wish I had never met you. 我真后悔这辈子遇到你！ <br/>67. You&#39;re a disgrace. 你真丢人！ <br/>68. I&#39;ll never forgive you! 我永远都不会饶恕你！ <br/>69. Don&#39;t nag me! 别在我面前唠叨！ <br/>70. I&#39;m sick of it. 我都腻了。 <br/>71. You&#39;re such a bitch! 你这个婊子! <br/>72. Stop screwing/ fooling/ messing around! 别鬼混了！ <br/>73. Mind your own business! 管好你自己的事！ <br/>74. You&#39;re just a good for nothing bum! 你真是一个废物！/ 你一无是处！ <br/>75. You&#39;ve gone too far! 你太过分了！ <br/>76. I loathe you! 我讨厌你！<br/>77. I detest you! 我恨你！ <br/>78. Get the hell out of here! 滚开! <br/>79. Don&#39;t be that way! 别那样！ <br/>80. Can&#39;t you do anything right? 成事不足，败事有余。 <br/>81. You&#39;re impossible. 你真不可救药。 <br/>82. Don&#39;t touch me! 别碰我！<br/>83. Get away from me! 离我远一点儿！ <br/>84. Get out of my life. 我不愿再见到你。/ 从我的生活中消失吧。 <br/>85. You&#39;re a joke! 你真是一个小丑！ <br/>86. Don&#39;t give me your attitude. 别跟我摆架子。 <br/>87. You&#39;ll be sorry. 你会后悔的。 <br/>88. We&#39;re through. 我们完了！ <br/>89. Look at the mess you&#39;ve made! 你搞得一团糟！ <br/>90. You&#39;ve ruined everything. 全都让你搞砸了。<br/>91. I can&#39;t believe you never. 你好大的胆子！ <br/>92. You&#39;re away too far. 你太过分了。 <br/>93. I can&#39;t take you any more! 我再也受不了你啦！ <br/>94. I&#39;m telling you for the last time! 我最后再告诉你一次！ <br/>95. I could kill you! 我宰了你！ <br/>96. That&#39;s the stupidest thing I&#39;ve ever heard!<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 那是我听到的最愚蠢的事！ (比尔·盖茨常用) <br/>97. I can&#39;t believe a word you say. 我才不信你呢! <br/>98. You never tell the truth！ 你从来就不说实话！ <br/>99. Don&#39;t push me ! 别逼我！<br/>100. Enough is enough! 够了够了！ <br/>101. Don&#39;t waste my time any more. 别再浪费我的时间了！ <br/>102. Don&#39;t make so much noise. I&#39;m working. 别吵，我在干活。 <br/>103. It&#39;s unfair. 太不公平了。 <br/>104. I&#39;m very disappointed. 真让我失望。 <br/>105. Don&#39;t panic! 别怕! <br/>106. What do you think you are doing? 你知道你在做什么吗？ <br/>107. Don&#39;t you dare come back again! 你敢再回来！ <br/>108. You asked for it. 你自找的。 <br/>109. Nonsense! 鬼话！胡说八道！ ]]></description>
		</item>
		
			<item>
			<link>http://yoker.sc0826.com/default.asp?id=481</link>
			<title><![CDATA[［ＳＱＬ］删除数据库某个库中所有表的某一个字段]]></title>
			<author>yoker.wu@gmail.com(Yoker)</author>
			<category><![CDATA[编　程]]></category>
			<pubDate>Wed,20 Jan 2010 10:23:26 +0800</pubDate>
			<guid>http://yoker.sc0826.com/default.asp?id=481</guid>	
		<description><![CDATA[　　从同步的服务器下载了一份算是比较完整的<a target="_blank" href="http://www.google.cn/search?hl=zh-CN&amp;q=%E6%95%B0%E6%8D%AE%E5%BA%93%E5%A4%87%E4%BB%BD&amp;client=pub-9809305251274649">数据库备份</a>，很是不容易啊。这份被同步的数据库每个表里面都被增加上了一个字段，而且是非空字段，这个字段是用作<a target="_blank" href="http://www.google.cn/search?hl=zh-CN&amp;q=%E6%95%B0%E6%8D%AE%E5%BA%93%E5%90%8C%E6%AD%A5&amp;client=pub-9809305251274649">同步</a>的信息交互。可是在程序中是没有对这个字段处理过的，于是乎得全干掉！<br/><br/>　　除了想到可以游标来得方便一点外，还真没想到其他更方便的方法。于是写了下面的这段ＳＱＬ语句。好久没有写复杂一点的SQL语句了，下面这个仍然不算复杂，但是才发觉又有点生疏了。<br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://yoker.sc0826.com/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">declare @sql varchar(200);<br/>declare @tabname varchar(20);<br/>declare @colname varchar(50);<br/>set @colname=&#39;<span style="color:blue">msrepl_tran_version</span>&#39;;--欲删除的字段名称<br/>declare cur cursor for Sel&#101;ct name From sysobjects Wh&#101;re xtype = &#39;u&#39;<br/>open cur;<br/>fetch next from cur into @tabname;<br/>while @@fetch_status=0<br/>begin<br/>&#160;&#160;&#160;&#160;set @sql=&#39;if exists (sel&#101;ct * from syscolumns wh&#101;re id=object_id(N&#39;&#39;&#39;+@tabname+&#39;&#39;&#39;) and name=&#39;&#39;&#39;+@colname+&#39;&#39;&#39;) alt&#101;r table [&#39;+ @tabname +&#39;] dro&#112; column &#39;+@colname;<br/>&#160;&#160;&#160;&#160;exec(@sql);<br/>&#160;&#160;&#160;&#160;fetch next from cur into @tabname;<br/>end<br/>close cur<br/>deallocate cur</div></div><br/>]]></description>
		</item>
		
			<item>
			<link>http://yoker.sc0826.com/default.asp?id=480</link>
			<title><![CDATA[［生活］没事瞎扯淡吧，算是回忆过去的2009]]></title>
			<author>yoker.wu@gmail.com(Yoker)</author>
			<category><![CDATA[生　活]]></category>
			<pubDate>Tue,19 Jan 2010 00:02:13 +0800</pubDate>
			<guid>http://yoker.sc0826.com/default.asp?id=480</guid>	
		<description><![CDATA[　　<a target="_blank" href="http://www.sc0826.com/">博客</a>一直处于安静状态好几个月了，都已经2010年20来天了，自己在瞎忙些什么呐？2009年有些什么收获呐？除了年龄仿佛没有什么了，又仿佛发生了很多的事情！<br/><br/>　　2009年的1月18日，对也就是去年今天这个日子和<a href="http://yaner.sc0826.com/" target="_blank">老婆</a>应该是在成都的青羊区<a target="_blank" href="http://www.google.cn/search?hl=zh-CN&amp;q=%E5%A9%9A%E5%A7%BB%E7%99%BB%E8%AE%B0%E6%89%80&amp;client=pub-9809305251274649">婚姻登记所</a>里做了人生中的第二次大决定，之所以是第二次，是因为第一次大的决定是放弃自己所学的专业走上<a target="_blank" href="http://www.google.cn/search?hl=zh-CN&amp;q=IT%E4%BA%92%E8%81%94%E7%BD%91&amp;client=pub-9809305251274649">IT互联网</a>就业，干一个自己喜欢的工作。第二次也算和第一次一样，选择了自己喜欢的。<br/><br/>　　随后是妹妹高中毕业，这个事印象也算是比较深。一个女孩子被我活生生的要求去了<a target="_blank" href="http://www.google.cn/search?hl=zh-CN&amp;q=%E5%90%89%E6%9E%97%E5%8D%8E%E6%A1%A5%E5%A4%96%E5%9B%BD%E8%AF%AD%E5%AD%A6%E9%99%A2&amp;client=pub-9809305251274649">吉林华桥外国语学院</a>，她自己说是非常不情愿的，也不知道我的这个决定是否正确，也不知道对她的将来会起到什么作用。但我坚信一点，多学一点知识特别是外语知识总比她现在去打工要强很多。<br/><br/>　　再然后是什么呐？国庆大阅兵？不算，对我而言一点感觉没有，不是不爱国，对我们这样的人来说，国庆几天接个业务挣点钱更实在一些。11月7日早上一个电话把我拉回了四川，岳母病逝。这一回去就半个多月，身心都受到了一次洗礼，直到这个月初看完的<a target="_blank" href="http://www.google.cn/search?hl=zh-CN&amp;q=%E8%9C%97%E5%B1%85&amp;client=pub-9809305251274649">蜗居</a>，心里才有点释怀。“到了我们这个年龄，应该到了去承受失去亲人之痛的时候了”--宋思民对他<a href="http://yaner.sc0826.com/" target="_blank">老婆</a>说的一句话。<br/><br/>　　说到蜗居，也谈谈我认为里面成功的两个男人吧。一个是宋思民，一个是苏淳。宋思民是个成功的男人，这个我想大部分人都赞同，但为什么说苏淳也是个成功的男人呐？他背后那么强悍的一个<a href="http://yaner.sc0826.com/" target="_blank">老婆</a>居然没有离开他，不算他成功算什么呐？其实细想下来，宋思民的<a href="http://yaner.sc0826.com/" target="_blank">老婆</a>又何尝不是呐？反观小贝，不能不说算是一个杯具，也算是程序员中的悲哀。<br/>]]></description>
		</item>
		
			<item>
			<link>http://yoker.sc0826.com/default.asp?id=479</link>
			<title><![CDATA[［疑惑］Google放弃Google.cn到底为什么？]]></title>
			<author>yoker.wu@gmail.com(Yoker)</author>
			<category><![CDATA[生　活]]></category>
			<pubDate>Mon,18 Jan 2010 12:00:08 +0800</pubDate>
			<guid>http://yoker.sc0826.com/default.asp?id=479</guid>	
		<description><![CDATA[　　今天一大早打开CSDN，居然首页上基本全成了Google放弃Google.cn的文章，先前的Baidu被黑，随即出现Google提到放弃谷歌，本以为只是一些商业层面的东西，在这愈演愈烈的情况下，回首发现这个事件居然和政治也挂上勾了，这是哪门子事哦！<br/><br/>　　刚才又检查了下Google.cn，居然发现<span style="color:red"><strong>“赞助商”链接出现了在左侧的搜索结果</strong></span>中。Oh,My God. 先前的四大发明Logo，现在的“赞助商广告移位”，相信下一个关于Google的批量文章会对这个阐述看法，引发思考。<br/><br/>　　我不是评论家，更没有什么敏感的新闻嗅觉，在看了<a href="http://<a href="http://yoker.sc0826.com/" target="_blank">blog</a>.csdn.net/xushiweizh/archive/2010/01/15/5191734.aspx" target="_blank">http://<a href="http://yoker.sc0826.com/" target="_blank">blog</a>.csdn.net/xushiweizh/archive/2010/01/15/5191734.aspx</a>这个文章后，觉得Google，你还是离开吧，虽然你是一个很有抱负的公司，但你的理念在这里真的不适合你。]]></description>
		</item>
		
			<item>
			<link>http://yoker.sc0826.com/default.asp?id=478</link>
			<title><![CDATA[［投票］用python干的那点邪恶的事]]></title>
			<author>yoker.wu@gmail.com(Yoker)</author>
			<category><![CDATA[编　程]]></category>
			<pubDate>Sat,16 Jan 2010 16:38:32 +0800</pubDate>
			<guid>http://yoker.sc0826.com/default.asp?id=478</guid>	
		<description><![CDATA[　　最近发现自己要单独POST点数据，或者获取点其他有<a target="_blank" href="http://www.google.cn/search?hl=zh-CN&amp;q=%E9%98%B2%E7%9B%97%E9%93%BE&amp;client=pub-9809305251274649">防盗</a>限制内容的时候，首先采用的就是<a target="_blank" href="http://www.python.org/">python</a>，再也不愿意去动用那个庞大的<a target="_blank" href="http://www.google.cn/search?hl=zh-CN&amp;q=Visual%20Studio%20IDE&amp;client=pub-9809305251274649">Visual Studio IDE</a>了，避免了那笨重的工具，做完了还得清理一大堆生成文件的问题，用<a target="_blank" href="http://www.python.org/">python</a>，干完也就那个py文件，直接drag到Recycled即可。<br/><br/>　　前端时间有个投票的需求，有个IP和Cookie限制，一个IP一天也就只能投一票，没有验证码做处理的投票，在现在的互联网上也太次了点，代理站点是一堆一堆的，找点代理还不是太难，于是乎直接动手用python写一个获取<a target="_blank" href="http://www.google.cn/search?hl=zh-CN&amp;q=%E4%BB%A3%E7%90%86&amp;client=pub-9809305251274649">代理</a>列表，然后再投票的东西。其实投票这种东西，最主要的就是防止被管理员发现当<a target="_blank" href="http://www.google.cn/search?hl=zh-CN&amp;q=%E6%81%B6%E6%84%8F%E5%88%B7%E7%A5%A8&amp;client=pub-9809305251274649">恶意刷票</a>处理，需要智慧一点处理就可以了，我只做了简单的处理，哈哈～～<br/><br/>下面就是一些核心的源代码，分享之。<br/><br/>获取“<a target="_blank" href="http://www.cnproxy.com/">中国代理网</a>”代理列表的python源码<br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://yoker.sc0826.com/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent"># -*- coding: utf-8 -*-<br/>import re,time,os<br/>import urllib<br/><br/>def saveproxies(proxies, filename=&#39;proxy.txt&#39;):<br/>&nbsp;&nbsp;&nbsp;&nbsp;proxies = [x for x in proxies if x not in locals()[&#39;_[1]&#39;]]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#39;&#39;&#39;过滤重复的数据，等同于“proxies = [elem for elem in proxies if porxies.count(elem) == 1]” &#39;&#39;&#39;<br/>&nbsp;&nbsp;&nbsp;&nbsp;if proxies:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f = file(os.path.join(os.path.dirname(__file__),filename),&#39;w+&#39;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f.writelines(proxies)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f.close()<br/><br/>def cnproxyHttp(filename=&#39;cnproxyHttp.txt&#39;):<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#39;&#39;&#39;获取cnproxy.com的http代理&#39;&#39;&#39;<br/>&nbsp;&nbsp;&nbsp;&nbsp;proxies = []<br/>&nbsp;&nbsp;&nbsp;&nbsp;pattern = re.compile(&#39;&lt;td&gt;(\d+\.\d+\.\d+\.\d+)&lt;SCRIPT type=text/javascript&gt;document\.write\(&#34;:&#34;((\+[a-z]){2,5})\)&lt;/SCRIPT&gt;&lt;/td&gt;&#39;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;script = re.compile(&#39;&#39;&#39;&lt;SCRIPT type=&#34;text/javascript&#34;&gt;\n(([a-z]=&#34;(\d)&#34;;)+)&lt;/SCRIPT&gt;&#39;&#39;&#39;)<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;us = [[&#39;<a href="http://www.cnproxy.com/proxyedu%s.html" target="_blank">http://www.cnproxy.com/proxyedu%s.html</a>&#39;,4]]<br/>&nbsp;&nbsp;&nbsp;&nbsp;us.append([&#39;<a href="http://www.cnproxy.com/proxy%s.html" target="_blank">http://www.cnproxy.com/proxy%s.html</a>&#39;,10])<br/>&nbsp;&nbsp;&nbsp;&nbsp;for u in us:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for i in range(1,u[1]+1):<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url = u[0] % i<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print url<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f = urllib.urlopen(url)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;html = f.read()<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f.close()<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scripts = re.search(script,html,re.I)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if scripts:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t = scripts.group(1).strip(&#39;;&#39;).replace(&#39;&#34;&#39;,&#39;&#39;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s = {}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for d in t.split(&#39;;&#39;):<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v = d.split(&#39;=&#39;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s[v[0]]=v[1]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;searchs = re.findall(pattern,html,re.I)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for g in searchs:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p = g[0]+&#34;:&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for d in g[1].strip(&#39;+&#39;).split(&#39;+&#39;):<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p = p + s[d]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxies.append(p + &#39;\n&#39;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print p<br/>&nbsp;&nbsp;&nbsp;&nbsp;saveproxies(proxies,filename)<br/>&nbsp;&nbsp;&nbsp;&nbsp;return proxies</div></div><br/>我这里还有更多的代理列表网址的，随便采集上万个代理地址是没问题的，就不公布了^_^<br/><br/>下面是采用urllib模块直接POST数据的python源代码：<br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://yoker.sc0826.com/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">#!/usr/bin/python<br/># -*- coding: utf-8 -*-<br/>import time,os<br/>import re,random<br/>import urllib<br/><br/>import socket<br/>socket.setdefaulttimeout(3)<br/>userAgents = [&#39;Mozilla/5.0 (Windows; U; Windows NT 5.2; zh-CN; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5&#39;]<br/>userAgents.append(&#39;Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+.NET+CLR+3.0.04506;)&#39;)<br/>userAgents.append(&#39;Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+Trident/4.0;+.NET+CLR+2.0.50727;+yie8)&#39;)<br/><br/>def readproxy(filename,startline=0):<br/>&nbsp;&nbsp;&nbsp;&nbsp;proxies = []<br/>&nbsp;&nbsp;&nbsp;&nbsp;f = file(os.path.join(os.path.dirname(__file__),filename),&#39;r&#39;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;while startline&gt;0:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f.readline()<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;startline = startline - 1<br/>&nbsp;&nbsp;&nbsp;&nbsp;while True:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;line = re.sub(&#39;\n&#39;,&#39;&#39;,f.readline())<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if len(line)==0:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxies.append(line)<br/>&nbsp;&nbsp;&nbsp;&nbsp;f.close()<br/>&nbsp;&nbsp;&nbsp;&nbsp;return proxies<br/><br/>def votemain(proxy):<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#39;&#39;&#39;投票主体部分&#39;&#39;&#39;<br/>&nbsp;&nbsp;&nbsp;&nbsp;proxies = {&#39;http&#39;: &#39;<a href="http://%s" target="_blank">http://%s</a>&#39; % (proxy)}<br/>&nbsp;&nbsp;&nbsp;&nbsp;opener = urllib.FancyURLopener(proxies)<br/>&nbsp;&nbsp;&nbsp;&nbsp;opener.addheader(&#39;Referer&#39;,&#34;<a href="http://vote.xxxx.com.cn/yyyy/" target="_blank">http://vote.xxxx.com.cn/yyyy/</a>&#34;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;opener.addheader(&#39;User-Agent&#39;,random.choice(userAgents))<br/>&nbsp;&nbsp;&nbsp;&nbsp;opener.addheader(&#39;Cookie&#39;,&#34;JSESSIONID=9A22B1572911830AC365F9858F2D541D&#34;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;vid = random.randrange(1,8)<br/>&nbsp;&nbsp;&nbsp;&nbsp;vid2 = random.randrange(1,8)<br/>&nbsp;&nbsp;&nbsp;&nbsp;data = &#39;1_%s=%s&amp;1_%s=%s&amp;id=123&#39; % (vid,vid,vid2,vid2)<br/>&nbsp;&nbsp;&nbsp;&nbsp;try:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f = opener.open(&#34;<a href="http://vote.xxxx.com.cn/post.jsp" target="_blank">http://vote.xxxx.com.cn/post.jsp</a>&#34;,data)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print(f.read())<br/>&nbsp;&nbsp;&nbsp;&nbsp;except :<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;&#39;&#39;代理服务器失效或者链接超时&#39;&#39;&#39;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return<br/><br/>def main():<br/>&nbsp;&nbsp;&nbsp;&nbsp;i = 0<br/>&nbsp;&nbsp;&nbsp;&nbsp;proxies = readproxy(&#39;proxy.txt&#39;, i)<br/>&nbsp;&nbsp;&nbsp;&nbsp;for proxy in proxies:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print i+1, proxy, time.time()<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;votemain(proxy)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#time.sleep(2)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i = i + 1<br/><br/>if __name__==&#39;__main__&#39; :<br/>&nbsp;&nbsp;&nbsp;&nbsp;main()</div></div><br/><br/>另外发现现在的一些简单验证码，用python + PIL来做一些分析，也是很容易破解的，有兴趣可以联系偶^_^]]></description>
		</item>
		
</channel>
</rss>