Sha256: a5e45557819f34b7e178517cb9e7d0cca15edc6b8957b2b58c3814d09e7c4203

Contents?: true

Size: 970 Bytes

Versions: 6

Compression:

Stored size: 970 Bytes

Contents

module OwaspZap
    class Spider

        def initialize(params = {})
            #TODO
            #handle it
            @base = params[:base]
            @target = params[:target]
        end

        def start
            #http://localhost:8080/JSON/spider/action/scan/?zapapiformat=JSON&url=
            url = Addressable::URI.parse "#{@base}/JSON/spider/action/scan/"
            url.query_values = {:zapapiformat=>"JSON",:url=>@target}
            RestClient::get url.normalize.to_str
        end

        def stop
            RestClient::get "#{@base}/JSON/spider/action/stop/?zapapiformat=JSON"
        end

        def status
            ret = JSON.parse(RestClient::get("#{@base}/JSON/spider/view/status/?zapapiformat=JSON"))
            if ret.has_key? "status"
                ret["status"].to_i
            else
                100 # it means no running
            end
       end

       def running?
            self.status != 100
       end
    end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
owasp_zap-0.0.95 lib/owasp_zap/spider.rb
owasp_zap-0.0.94 lib/owasp_zap/spider.rb
owasp_zap-0.0.93 lib/owasp_zap/spider.rb
owasp_zap-0.0.92 lib/owasp_zap/spider.rb
owasp_zap-0.0.91 lib/owasp_zap/spider.rb
owasp_zap-0.0.9 lib/owasp_zap/spider.rb