|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #!/usr/bin/env python3
- #getcode()为获取到的状态码, 200, 403(这里只获取到这两种状态页面), 返回值为int
- #把目录加在后面再扫描, 获取状态码得到目录是否存在
- '一个简单的目录扫描, 还没有加到错错处理, 当出现不存在目录时, 也会记录不存在目录为200, 但存在目录时, 差不多会正确扫描得到'
- import urllib.request
- import os
- import urllib.parse
- #headers = {"User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"}#防禁
- newline = os.linesep#换行符
- targeturl = input('请输入目标网页(以http://开头):').strip()
- #targeturl = urllib.parse.urlencode(targeturl).encode("utf-8")#转为网络编码
- print('开始扫器.......')
- #用一个文件保存结果
- filename = "dirscanresult.txt"
- targetdata = open(filename, "w+")
- #下面打开一个文件, 把目录加到上面去
- dirdata = open('./dirdata.txt', 'r')
- for eachling in dirdata:
- targeturl_test = targeturl + eachling.strip()
- print(targeturl_test)
- #把目录路径保存
- #try:
- targeturl_test = urllib.request.urlopen(targeturl_test, timeout=10)#timeout=10设置10秒超时
- # print(targeturl_test.geturl())
- #except urllib.error.URLError as ERR:
- # print("%s\t%s" % (targeturl_test, ERR.getcode))
- #except:
- # print('targeturl:%s无法打开' % (targeturl_test))
- # print('结束扫描')
- # break
- targeturl_status = targeturl_test.getcode()
- print("%s\t%s" % (targeturl_test.geturl(), targeturl_status))
- #打开指定目录
- if(targeturl_status == 200 or targeturl_status == 403):
- targetdata.write("%s\t%s%s" % (targeturl_test.geturl(), targeturl_status, newline))
- targetdata.close()
- print('扫描完成')
复制代码 写了个简单的目录扫描
问题就是, 如果链接不存在, 会直接报错退出程序。。。。
请问, 怎么解决?
是不是模块选错了?
刚学PY不久, 请大家指点一下。。。
谢谢。
|
|