防民之口,甚于防川。 引用自百度百科的对于“防民之口,甚于防川”的启示: 中国历史上有很多统治者荒淫无道,但他们又怕人民议论,就采取了压制社会言论的措施,以为可以高枕无忧、平安无事。实际上这是最愚蠢的作法,它不仅使下情无法上达,错误的政策得不到纠正,加剧社会矛盾。更可怕的在于虽然民众口上不说,但心里却充满了仇恨,只要社会矛盾到达临界点,大规模的暴乱必然爆发,给社会生产力造成极大破坏。正可谓“防民之口,甚于防川。”中国人是世界上最能忍受暴政的民族,但也是爆发起义最多的国家。 无逻辑的舆论的控制,究竟会引发什么后果呢?或许多年后答案便自己浮现。 暂且不谈论我们伟大的围墙的对于人民生活的影响,我们来看看它的技术方面的实现。
“反盗链”与反“反盗链”
现在很多大网站都有了图片反盗链,于是有时候在某些论坛或者博客就会遇到些“此图片仅限于…用户之间交流与沟通”的图片,这真是无法理喻。 反盗链 引用一段话:来自http://www.ningoo.net/html/2007/get_away_from_photo_defense.html 这里忍不住再次提起这茬,是在豆瓣九点看blog的时候,时不时冒出一副“此图片仅限于…用户之间交流与沟通”的图片出来,一个字,烦。不让看你干脆将所有的img直接过滤掉不显示就好了,还TMD放这么恶心的一个东西来刺激我的眼睛,要知道我眼睛本来就不太灵光,还好心脏不错,不然搞不好弄出人命官司。Blog和网页有啥区别?我想区别就在于我可以通过rss聚合阅读而不必要跑到blogger的网站上去吧。要是你输出的东西这不能看,那仅限于,那还搞个屁的rss。 图片防盗链,请离blog远点。呼吁所有的blogger,离图片防盗链的XX网站远点,不然,你们的内容再好,也只能敬而远之了。 这个我深有同感。
我的FTP Server——ftp.py
在上文中,我们简要地学习了下FTP协议,链接 http://everet.org/2012/03/ftp-protocol.html。 有兴趣的同学们可以去围观下。 因为最近偶看了下FTP协议,所以决定写个FTP Server玩玩。毕竟一直写的都是应用程序,于是乎想写下服务器端的程序。 结果就有了ftp.py,名字灵感来源于web.py。 ftp.py ftp.py由Python 2.x实现。目前有部署到我的服务器上。支持Windows、Unix和类Unix系统。支持多线程模式和多进程模式,不过在Windows上仅支持多线程模式。支持虚拟用户。 其中多进程模式支持以其他用户身份运行,加强了安全性。 其中用户设置写在ftp.py.config中,如果文件不存在则默认使用anonymous账户。 用户设置文件ftp.py.config格式如下: account_info = { ‘et’:{‘pass’:’123456789′, ‘home_dir’:’/root/’}, ‘lst’:{‘pass’:’987654321′, ‘home_dir’:’/tmp/’} } 也就是账户名+密码+家目录路径。 ftp.py.config 我们还可以在ftp.py的同级目录中通过ftp.py.config设置我们的FTP Server。 最大用户连接数 limit_connection_number 超时时间(单位:秒)timeout 默认家目录:default_home_dir 日志文件:logfile 运行的用户身份:runas_user 默认值为: 源码如下:
Python端口转发及重定向实现Eclipse的TCP/IP Monitor
记得在上个学期的时候选了徐扬老师的《Web服务与面向服务的体系结构》,讲了SOA之类的一堆东西。然后实验就是要4个下午做完IBM一个星期的培训课程…… 于是偶们便开始无脑地照着下面这本手册来狂做实验。记得要做10多个实验,算一下一个下午要做2-3个实验,所以当场做的话只能无脑操作鸟。不能不说是教育的悲哀啊。 记得在做“Exercise 7. Creating Web service clients”,有一小节是使用TCP/IP Monitor来检查SOAP消息。 也就是在Eclipse的TCP/IP Monitor中,设置监听一个端口如9081,然后设置你的SOA服务器的端口9080。然后你和9081端口的通信就会重定向到了9080.然后你就可以看到他们的数据传输。
Mission: FTP Protocol
FTP协议以前我用得挺少的,网络课上刘孜文老师曰FTP协议过时也就跳过了。不过现在FTP用得还是挺多的,所以决定围观下FTP。 刘孜文老师的经典名言是:我所学到的东西都不是从课堂上得来的。这点我挺赞同的。 刘孜文老师超强悍,中科院的博士,2个月看完了Linux内核的代码。 记得第一节课他说可以不用去上课,只要自己学就好了,于是偶深入贯彻刘老师的话,所以就一学期也没去上网络课了。 课下的时间都花在Scar上,网络也没仔细研究过,悲剧了,现在开始要好好补下才行了。 以下的内容是关于FTP协议的。 HTTP和FTP都是文件传输协议,他们都运行在TCP之上. 最显著的区别在于FTP使用两个并行的TCP连接,一个是控制连接(control connection),一个是数据连接(data connection).通常控制连接使用21端口. 因为FTP协议使用一个分离的控制连接,所以我们也称FTP的控制信息是带外(out-of-band)传送的。而HTTP协议在TCP连接中发送请求和响应首部行来控制,所以HTTP也可以说是带内(in-band)发送控制信息。 FTP服务器必须在整个会话中保存用户的状态信息,也就是说要保存用户的权限信息,远程目录树的当前位置。而HTTP协议则是无状态的,要通过cookie来保存用户状态。
HTTP状态码
发现到了现在,我还是除了一些基本的状态码之外, 其他状态码都不是很熟悉,于是找了些状态码过来记录一下,也当做备忘了。 下面的拿Vim把返回码处理成表格还加了颜色,哈哈,果然用Vim就是像刷屏一样。配合宏真是无敌了! 100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分 101 Switching Protocols 服务器将遵从客户的请求转换到另外一种协议 200 OK 一切正常,对GET和POST请求的应答文档跟在后面 201 Created 服务器已经创建了文档,Location头给出了它的URL。 202 Accepted 已经接受请求,但处理尚未完成。
Python抓取京东商城的所有笔记本电脑的参数
最近洪爷要写数据挖掘的论文需要些数据,于是俺又有机会做苦力了。昨天刚刚回到学校,晚上就帮洪爷写了个爬虫来爬数据京东商城的笔记本的参数。 为了快速完成,基本原理就是人工找到笔记本的页面。 然后他有22页(Page),编号规则如下: http://www.360buy.com/products/670-671-672-0-0-0-0-0-0-0-1-1-1.html http://www.360buy.com/products/670-671-672-0-0-0-0-0-0-0-1-1-%d.html http://www.360buy.com/products/670-671-672-0-0-0-0-0-0-0-1-1-22.html
