阅 读 文 章

写了一个简单的下载程序(23/07/2006更新)

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(rikioy) | 时间:2007-05-27 | 浏览:人次 ]


#这是一个简单的单线程下载程序,下载的是我网站里的一个小游戏,挖金子。PYTHON刚刚接触,书刚看到函数那里,看不下去了,太枯燥了,就试着自己做一个小玩意提提兴趣。
#其中肯定有很多问题,比如说比较笨的处理方法,请大家给我指出。


# _*_ coding:cp936 _*_
#Sample downloads Program use httplib
#Programer:rikioy
#email:rikiy at gmail.com
#date:2006-07-21
#introduction:
#这是一个简单的单线程下载程序,下载的是我网站里的一个小游戏,挖金子。PYTHON刚刚接触,书刚看到函数那里,看不下去了,太枯燥了,就试着自己做一个小玩意提提兴趣。
#其中肯定有很多问题,比如说比较笨的处理方法,请大家给我指出。
#用到的知识主要有:
#1、httplib库的使用,会用就简单多啦。
#2、设置引用页,有些网站下载需要,类似FLASHGET中的设置引用页。其实也是httplib中的知识。
#3、下载进度的计算,这个难道我一个下午,没经验的结果。虽然现在设计的也不好,不能用于多线程,不过以后在改吧。
#4、输出百分比,这个也小难了一会,不过后来找到方法了。用退格。呵呵。
#遗憾:
#1、rMsg是要下载文件的总大小,在计算进度的时候 percent = round(totle/fsize*100) 中 fsize 直接用 rMsg是不行的,弄了一下午才找到是这个问题,为什么,还不知道。
#2、文件变量用的比较乱,太晚了,不想整理了。
#3、没有任何异常处理,太脆弱了。
#改进:
#1、改成多进程的。
#2、下载任务考文本文件来配置
#3、整理程序中的变量与结构,使之更合理。
#4、加入异常处理
#感谢:
#BAIDU,我在百度搜索到了很多有用的东西。
#GOODNAME008,看了他写的一个简单的关于下载文件的文章,并且不厌其烦地回答我弱智的问题。BLOG,http://blog.csdn.net/goodname008
#
#


#引入HTTPLIB的库,URLLIB2也可以做个事情,但PY文档里面HTTPLIB介绍的比较多,所以就用这个了
import httplib
#单线程
import threading
#在最后计算下载百分比的时候用到了时间库
import time

class download(threading.Thread):
    def __init__ (self,threadname):
        threading.Thread.__init__(self,name=threadname)
    def run(self):
        #设置HTTP连接实例
        conn = httplib.HTTPConnection("www.wowor.org")
        #发送GET请求,在httplib中有putrequest和request两种,在MANUALS中有,不能混用。
        conn.putrequest('GET','/wjz.exe')
        #PUT头,Referer也是设置引用页的地方。
        conn.putheader('Referer','http://bbs.pingshu8.com')
        #PUT header结束,不结束后面进行不了。
        conn.endheaders()
        #得到服务器回应
        rMsg = conn.getresponse()
        #建立文件 fwrite
        fwrite = open('wjz.exe','wb+')
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 更新 程序 下载 简单 一个 文件 print 线程 这个 ftmp

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.