def test_decode_url_url_encoded(self): u = URL('http://www.w3af.com/') response = HTTPResponse(200, u'', Headers(), u, u, charset='latin1') bp_inst = BaseParser(response) bp_inst._encoding = 'latin1' decoded_url = bp_inst._decode_url(u'http://www.w3af.com/ind%E9x.html') self.assertEqual(decoded_url, u'http://www.w3af.com/ind\xe9x.html')
def test_decode_url_ignore_errors(self): u = URL('http://www.w3af.com/') response = HTTPResponse(200, u'', Headers(), u, u, charset='latin1') bp_inst = BaseParser(response) bp_inst._encoding = 'utf-8' test_url = u'http://w3af.com/blah.jsp?p=SQU-300&bgc=%FFAAAA' expected = u'http://w3af.com/blah.jsp?p=SQU-300&bgc=AAAA' decoded_url = bp_inst._decode_url(test_url) self.assertEqual(decoded_url, expected)
def test_decode_url_skip_safe_chars(self): u = URL('http://www.w3af.com/') response = HTTPResponse(200, u'', Headers(), u, u, charset='latin1') bp_inst = BaseParser(response) bp_inst._encoding = 'latin1' test_url = u'http://w3af.com/search.php?a=%00x&b=2%20c=3%D1' expected = u'http://w3af.com/search.php?a=%00x&b=2 c=3\xd1' decoded_url = bp_inst._decode_url(test_url) self.assertEqual(decoded_url, expected)
def __init__(self, http_resp): BaseParser.__init__(self, http_resp) # Internal state variables self._inside_form = False self._inside_select = False self._inside_text_area = False self._inside_script = False self._tag_and_url = set() self._forms = [] self._comments_in_doc = [] self._meta_redirs = [] self._meta_tags = [] self._emails = set()
def test_parse_blank(self): response = HTTPResponse(200, '', Headers(), self.url, self.url) bp_inst = BaseParser(response) self.assertRaises(NotImplementedError, bp_inst.get_comments) self.assertRaises(NotImplementedError, bp_inst.get_forms) self.assertRaises(NotImplementedError, bp_inst.get_meta_redir) self.assertRaises(NotImplementedError, bp_inst.get_meta_tags) self.assertRaises(NotImplementedError, bp_inst.get_references) self.assertRaises(NotImplementedError, bp_inst.get_clear_text_body)
def __init__(self, http_response): BaseParser.__init__(self, http_response) self._re_urls = set()
def setUp(self): self.url = URL('http://www.w3af.com/') response = HTTPResponse(200, '', Headers(), self.url, self.url) self.bp_inst = BaseParser(response)