sqlmap --dependencies 可以用来检查sqlmap需要使用的一些依赖是否满足。

通过阅读源码我们知道了,核心是__import__()函数。
异常:ImportError

__import__的好处就是,包名可以作为字符串参数传给__import__()

While writing a code, there might be a need for some specific modules. So we import those modules by using a single line code in Python.

But what if the name of the module needed is known to us only during runtime? How can we import that module? One can use the Python’s inbuilt import() function. It helps to import modules in runtime also.


def _checkDependencies():"""Checks for missing dependencies."""if conf.dependencies:# 关于依赖的检查的函数checkDependencies()

在checkDependencies()中有类似如下的代码。

    try:__import__("tkinter.ttk")debugMsg = "'tkinter.ttk' library is found"logger.debug(debugMsg)except ImportError:warnMsg = "sqlmap requires 'tkinter.ttk' library "warnMsg += "if you plan to run a GUI"logger.warn(warnMsg)missing_libraries.add('tkinter.ttk')

读了两天sqlmap源码,还是在init()函数内,说明这条路很远啊。

sqlmap源码阅读系列检查是否满足依赖相关推荐

  1. sqlmap源码阅读系列init中的_cleanupOptions

    有很多人说sqlmap的源码很难,也有人说sqlmap的源码非常值得一读.我觉得这就像小马过河一样,你不读你就没有发言权.对我而言,截至目前,sqlmap的源码还在可以理解的范围内,至少要比unitt ...

  2. TiDB 源码阅读系列文章(十九)tikv-client(下)

    上篇文章 中,我们介绍了数据读写过程中 tikv-client 需要解决的几个具体问题,本文将继续介绍 tikv-client 里的两个主要的模块--负责处理分布式计算的 copIterator 和执 ...

  3. TiDB 源码阅读系列文章(十六)INSERT 语句详解

    在之前的一篇文章 <TiDB 源码阅读系列文章(四)INSERT 语句概览> 中,我们已经介绍了 INSERT 语句的大体流程.为什么需要为 INSERT 单独再写一篇?因为在 TiDB ...

  4. TiDB 源码阅读系列文章(五)TiDB SQL Parser 的实现

    本文为 TiDB 源码阅读系列文章的第五篇,主要对 SQL Parser 功能的实现进行了讲解,内容来自社区小伙伴--马震(GitHub ID:mz1999 )的投稿. TiDB 源码阅读系列文章的撰 ...

  5. 【Dubbo源码阅读系列】之远程服务调用(上)

    今天打算来讲一讲 Dubbo 服务远程调用.笔者在开始看 Dubbo 远程服务相关源码的时候,看的有点迷糊.后来慢慢明白 Dubbo 远程服务的调用的本质就是动态代理模式的一种实现.本地消费者无须知道 ...

  6. TiDB 源码阅读系列文章(六)Select 语句概览

    在先前的 TiDB 源码阅读系列文章(四) 中,我们介绍了 Insert 语句,想必大家已经了解了 TiDB 是如何写入数据,本篇文章介绍一下 Select 语句是如何执行.相比 Insert,Sel ...

  7. TiDB 源码阅读系列文章(十五)Sort Merge Join

    2019独角兽企业重金招聘Python工程师标准>>> 什么是 Sort Merge Join 在开始阅读源码之前, 我们来看看什么是 Sort Merge Join (SMJ),定 ...

  8. DM 源码阅读系列文章(二)整体架构介绍

    2019独角兽企业重金招聘Python工程师标准>>> 作者:张学程 本文为 DM 源码阅读系列文章的第二篇,第一篇文章 简单介绍了 DM 源码阅读的目的和规划,以及 DM 的源码结 ...

  9. SpringMVC源码阅读系列汇总

    1.前言 1.1 导入 SpringMVC是基于Servlet和Spring框架设计的Web框架,做JavaWeb的同学应该都知道 本文基于Spring4.3.7源码分析,(不要被图片欺骗了,手动滑稽 ...

最新文章

  1. 在QT中结构体快速从二进制文件中读取数据
  2. iOS开发常用的第三方
  3. android抽奖动画,Android App中实现简单的刮刮卡抽奖效果的实例详解
  4. GDI+ 设置不同的分辨率来显示不同大小的图片
  5. code blocks代码性能分析_Julia系列教程13--如果写出高性能的Julia代码
  6. Python深入理解元组与列表的使用和区别
  7. 四分位数(Quartiles)、十分位数(Deciles)和百分位数(Percentiles
  8. EazyDraw for Mac(矢量图绘制软件)
  9. Atitit 软件体系的进化,是否需要一个处理中心
  10. 疯狂的程序员_《戴蓓会客厅》第13期|疯狂的程序员 三维家蔡志森的野心
  11. 海康视频的4G接入-实时浏览
  12. 多媒体计算机辅助英语教学,多媒体计算机辅助英语教学初探
  13. thing JS笔记
  14. 2009中文菜谱网站排行之十大兵器
  15. 简单的Winform秒表工具
  16. mysql实现增量备份
  17. mac 部署nexus私服库
  18. 实现一个信息量的计算公式
  19. 何以解忧,唯有健康,微养生开启了年轻化的养生热潮
  20. 【无标题】java基础LED安装

热门文章

  1. 【AI视野·今日CV 计算机视觉论文速览 第211期】Wed, 2 Jun 2021
  2. 【numpy求和】numpy.sum()求和
  3. Java-Scanner键盘输入
  4. c#winform演练 ktv项目 实现播放完了一曲自动播放下一曲的功能
  5. 前端开发 背景图 0229
  6. selinum-操作表单元素-0223
  7. 关于获取oracle中数据变更的时间戳的探索(待更新)
  8. 《Spring实战》系列之Bean的装配-Days01
  9. Python爬虫-- Scrapy框架
  10. C语言 · 龟兔赛跑预测