VC2005开发的CHttpFile类:快速读取网页原码

版权申诉
0 下载量 141 浏览量 更新于2024-11-04 收藏 39KB RAR 举报
资源摘要信息:"GetHtml.rar_CHttpFile GetHtml_Gethtml_gethtml source vc_vc CHttp" 根据提供的文件信息,我们可以提炼出以下知识点: 1. **文件压缩包名称:GetHtml** - 这表明相关的资源被封装在一个名为“GetHtml”的压缩包中。用户需要使用解压缩工具来获取其中的文件。 2. **文件标题:GetHtml.rar_CHttpFile GetHtml_Gethtml_gethtml source vc_vc CHttp** - 标题中包含了多个关键词,其中“GetHtml”很可能是指代该程序的功能,即获取网页的HTML源码。 - “rar”说明文件可能是一个RAR格式的压缩文件。 - “CHttpFile”是标题中的关键类名,指明了程序中使用的类,用于实现特定的功能。 - “GetHtml_Gethtml_gethtml source vc_vc CHttp”部分重复强调了“获取HTML”的功能,并指明了这是用C++语言在Visual C++ 2005开发环境中编写的程序。 3. **描述:VC2005写的 CHttpFile类 读取网页原码的小程序** - 描述提供了程序开发的具体环境和用途。VC2005是指Microsoft Visual Studio 2005,这是一个集成开发环境(IDE),用于C++、C#和***等语言的开发。 - “CHttpFile类”是程序中的主要类,负责执行读取网页原码的动作。 - 这是一个“小程序”,意味着它的功能比较单一,专注于实现读取网页HTML源码的特定任务。 4. **标签:chttpfile_gethtml gethtml gethtml_source_vc vc_chttpfile_read vc_html_g** - 这些标签提供了关于程序用途的更多线索。 - “chttpfile_gethtml”是标签化的关键词,表明了程序的用途。 - “gethtml”,“gethtml_source_vc”是强调了程序的功能,即获取HTML源码,且特别指明了使用的是Visual C++语言。 - “vc_chttpfile_read”再次强调了使用Visual C++环境下的CHttpFile类进行网页内容的读取。 - “vc_html_g”可能是标签化过程中出现的缩写或错误,正常情况下应表示它与Visual C++和HTML获取相关。 综合以上信息,我们可以得出该文件描述了一个使用Visual Studio 2005开发的C++程序,该程序名为“GetHtml”,主要功能是通过CHttpFile类读取和获取网页的HTML原码。这个程序可能被设计为一个简单的命令行工具或者拥有图形用户界面(GUI)的软件,便于开发者或者测试人员从网络上获取目标网页的HTML源码以进行进一步的分析或测试。 由于只有文件名称列表而没有具体的文件内容,以上知识点的提炼基于标题、描述和标签所提供的信息进行假设性描述。在实际情况中,需要获取压缩包内的源代码或可执行文件以进行更详尽的分析。

import urllib.request import queue import threading import sys def bytes2human(n): """ >>> bytes2human(10000) 9K >>> bytes2human(100001221) 95M """ symbols = ('K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y') prefix = {} for i, s in enumerate(symbols): prefix[s] = 1 << (i + 1) * 10 for s in reversed(symbols): if n >= prefix[s]: value = int(float(n) / prefix[s]) return '%s%s' % (value, s) return '%sB' % n def gethtml(url, bak): try: urlbak = url + bak #print(urlbak) req = urllib.request.urlopen(urlbak, timeout=10) if req.code == 200: meta = req.info() file_size = int(meta.getheaders("Content-Length")[0]) m = bytes2human(file_size) content_type = meta.getheaders('Content-Type')[0].split(';')[0] if file_size == 0: return False if 'html' in content_type: return False else: print('%s ---- %s ---- %s ' % (urlbak, m, content_type)) return '%s ---- %s ---- %s ' % (urlbak, m, content_type) else: return False except: return False def writefile(fileName, c): f = open(fileName, "a") f.write(c + "\n") f.close() q = queue.Queue() def scanner(url): for i in bekadd(url): c = gethtml(url, i) if c != False: writefile("bak.txt", c) def worker(): while not q.empty(): url = q.get() scanner(url) q.task_done() def bekadd(url): listbak = ['/1.zip', '/1.rar', '/web.rar', '/web.zip', '/www.rar', '/www.zip', '/wwwroot.rar', '/wwwroot.zip', '/backup.rar', '/backup.zip', '/database.rar', '/database.zip', '/databak.rar', '/databak.zip', '/databackup.rar', '/databackup.zip', '/databack.zip', '/sql.rar', '/sql.zip'] wwwurl = url[url.find("http://") + 7:].rstrip("/ 这是什么代码

2023-06-12 上传