本文整理汇总了Python中twisted.web.client.HTTPDownloader方法的典型用法代码示例。如果您正苦于以下问题:Python client.HTTPDownloader方法的具体用法?Python client.HTTPDownloader怎么用?Python client.HTTPDownloader使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类twisted.web.client
的用法示例。
在下文中一共展示了client.HTTPDownloader方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_downloadTimeout
# 需要导入模块: from twisted.web import client [as 别名]
# 或者: from twisted.web.client import HTTPDownloader [as 别名]
def test_downloadTimeout(self):
"""
If the timeout indicated by the C{timeout} parameter to
L{client.HTTPDownloader.__init__} elapses without the complete response
being received, the L{defer.Deferred} returned by
L{client.downloadPage} fires with a L{Failure} wrapping a
L{defer.TimeoutError}.
"""
self.cleanupServerConnections = 2
# Verify the behavior if no bytes are ever written.
first = client.downloadPage(
self.getURL("wait"),
self.mktemp(), timeout=0.01)
# Verify the behavior if some bytes are written but then the request
# never completes.
second = client.downloadPage(
self.getURL("write-then-wait"),
self.mktemp(), timeout=0.01)
return defer.gatherResults([
self.assertFailure(first, defer.TimeoutError),
self.assertFailure(second, defer.TimeoutError)])
示例2: test_downloadTimeoutsWorkWithoutReading
# 需要导入模块: from twisted.web import client [as 别名]
# 或者: from twisted.web.client import HTTPDownloader [as 别名]
def test_downloadTimeoutsWorkWithoutReading(self):
"""
If the timeout indicated by the C{timeout} parameter to
L{client.HTTPDownloader.__init__} elapses without the complete response
being received, the L{defer.Deferred} returned by
L{client.downloadPage} fires with a L{Failure} wrapping a
L{defer.TimeoutError}, even if the remote peer isn't reading data from
the socket.
"""
self.cleanupServerConnections = 1
# The timeout here needs to be slightly longer to give the resource a
# change to stop the reading.
d = client.downloadPage(
self.getURL("never-read"),
self.mktemp(), timeout=0.05)
return self.assertFailure(d, defer.TimeoutError)
示例3: test_downloadHeaders
# 需要导入模块: from twisted.web import client [as 别名]
# 或者: from twisted.web.client import HTTPDownloader [as 别名]
def test_downloadHeaders(self):
"""
After L{client.HTTPDownloader.deferred} fires, the
L{client.HTTPDownloader} instance's C{status} and C{response_headers}
attributes are populated with the values from the response.
"""
def checkHeaders(factory):
self.assertEqual(factory.status, b'200')
self.assertEqual(factory.response_headers[b'content-type'][0], b'text/html')
self.assertEqual(factory.response_headers[b'content-length'][0], b'10')
os.unlink(factory.fileName)
factory = client._makeGetterFactory(
self.getURL('file'),
client.HTTPDownloader,
fileOrName=self.mktemp())
return factory.deferred.addCallback(lambda _: checkHeaders(factory))
示例4: test_downloadCookies
# 需要导入模块: from twisted.web import client [as 别名]
# 或者: from twisted.web.client import HTTPDownloader [as 别名]
def test_downloadCookies(self):
"""
The C{cookies} dict passed to the L{client.HTTPDownloader}
initializer is used to populate the I{Cookie} header included in the
request sent to the server.
"""
output = self.mktemp()
factory = client._makeGetterFactory(
self.getURL('cookiemirror'),
client.HTTPDownloader,
fileOrName=output,
cookies={b'foo': b'bar'})
def cbFinished(ignored):
self.assertEqual(
FilePath(output).getContent(),
b"[('foo', 'bar')]")
factory.deferred.addCallback(cbFinished)
return factory.deferred
示例5: test_downloadRedirectLimit
# 需要导入模块: from twisted.web import client [as 别名]
# 或者: from twisted.web.client import HTTPDownloader [as 别名]
def test_downloadRedirectLimit(self):
"""
When more than C{redirectLimit} HTTP redirects are encountered, the
page request fails with L{InfiniteRedirection}.
"""
def checkRedirectCount(*a):
self.assertEqual(f._redirectCount, 7)
self.assertEqual(self.infiniteRedirectResource.count, 7)
f = client._makeGetterFactory(
self.getURL('infiniteRedirect'),
client.HTTPDownloader,
fileOrName=self.mktemp(),
redirectLimit=7)
d = self.assertFailure(f.deferred, error.InfiniteRedirection)
d.addCallback(checkRedirectCount)
return d
示例6: test_downloadHeaders
# 需要导入模块: from twisted.web import client [as 别名]
# 或者: from twisted.web.client import HTTPDownloader [as 别名]
def test_downloadHeaders(self):
"""
After L{client.HTTPDownloader.deferred} fires, the
L{client.HTTPDownloader} instance's C{status} and C{response_headers}
attributes are populated with the values from the response.
"""
def checkHeaders(factory):
self.assertEquals(factory.status, '200')
self.assertEquals(factory.response_headers['content-type'][0], 'text/html')
self.assertEquals(factory.response_headers['content-length'][0], '10')
os.unlink(factory.fileName)
factory = client._makeGetterFactory(
self.getURL('file'),
client.HTTPDownloader,
fileOrName=self.mktemp())
return factory.deferred.addCallback(lambda _: checkHeaders(factory))
示例7: test_downloadCookies
# 需要导入模块: from twisted.web import client [as 别名]
# 或者: from twisted.web.client import HTTPDownloader [as 别名]
def test_downloadCookies(self):
"""
The C{cookies} dict passed to the L{client.HTTPDownloader}
initializer is used to populate the I{Cookie} header included in the
request sent to the server.
"""
output = self.mktemp()
factory = client._makeGetterFactory(
self.getURL('cookiemirror'),
client.HTTPDownloader,
fileOrName=output,
cookies={'foo': 'bar'})
def cbFinished(ignored):
self.assertEqual(
FilePath(output).getContent(),
"[('foo', 'bar')]")
factory.deferred.addCallback(cbFinished)
return factory.deferred
示例8: test_downloadRedirectLimit
# 需要导入模块: from twisted.web import client [as 别名]
# 或者: from twisted.web.client import HTTPDownloader [as 别名]
def test_downloadRedirectLimit(self):
"""
When more than C{redirectLimit} HTTP redirects are encountered, the
page request fails with L{InfiniteRedirection}.
"""
def checkRedirectCount(*a):
self.assertEquals(f._redirectCount, 7)
self.assertEquals(self.infiniteRedirectResource.count, 7)
f = client._makeGetterFactory(
self.getURL('infiniteRedirect'),
client.HTTPDownloader,
fileOrName=self.mktemp(),
redirectLimit=7)
d = self.assertFailure(f.deferred, error.InfiniteRedirection)
d.addCallback(checkRedirectCount)
return d
示例9: attemptRequestWithMaliciousMethod
# 需要导入模块: from twisted.web import client [as 别名]
# 或者: from twisted.web.client import HTTPDownloader [as 别名]
def attemptRequestWithMaliciousMethod(self, method):
"""
Attempt a request with the provided method.
@param method: L{MethodInjectionTestsMixin}
"""
client.HTTPDownloader(
b"https://twisted.invalid",
io.BytesIO(),
method=method,
)
示例10: attemptRequestWithMaliciousURI
# 需要导入模块: from twisted.web import client [as 别名]
# 或者: from twisted.web.client import HTTPDownloader [as 别名]
def attemptRequestWithMaliciousURI(self, uri):
"""
Attempt a request with the provided URI.
@param uri: L{URIInjectionTestsMixin}
"""
client.HTTPDownloader(uri, io.BytesIO())
示例11: __init__
# 需要导入模块: from twisted.web import client [as 别名]
# 或者: from twisted.web.client import HTTPDownloader [as 别名]
def __init__(self, url, file, progressCallback, *a, **kw):
client.HTTPDownloader.__init__(self, url, file, *a, **kw)
self.progressCallback = progressCallback
self.written = 0
示例12: gotHeaders
# 需要导入模块: from twisted.web import client [as 别名]
# 或者: from twisted.web.client import HTTPDownloader [as 别名]
def gotHeaders(self, headers):
self.response_headers = headers
client.HTTPDownloader.gotHeaders(self, headers)
self.contentLength = headers.get("content-length", None)
if self.contentLength is not None:
self.contentLength = int(self.contentLength[0])