def test_gzip(self):
p = HTTPGzipProcessor()
url = "https://www.example.com/"
req = p.https_request(mechanize.Request(url))
self.assertIsNone(req.get_header('Accept-Encoding'))
p.request_gzip = True
req = p.https_request(mechanize.Request(url))
self.assertEqual(req.get_header('Accept-Encoding'), 'gzip')
req = mechanize.Request(url)
req.add_header('Accept-Encoding', 'moo, *')
req = p.https_request(req)
self.assertEqual(req.get_header('Accept-Encoding'), 'moo, *, gzip')
data = os.urandom(1024 * 1024)
cdata = b''.join(compress_readable_output(BytesIO(data)))
r = MockResponse(
url,
data=cdata,
info={
'Content-Encoding': 'gzip',
'Content-Length': str(len(cdata))
})
r = p.https_response(req, r)
self.assertEqual(r.read(), data)
h = r.info()
self.assertFalse(h.getheaders('content-encoding'))
self.assertFalse(h.getheaders('content-length'))
评论列表
文章目录