本文整理匯總了Python中pycurl.MAXREDIRS屬性的典型用法代碼示例。如果您正苦於以下問題:Python pycurl.MAXREDIRS屬性的具體用法?Python pycurl.MAXREDIRS怎麽用?Python pycurl.MAXREDIRS使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在類pycurl
的用法示例。
在下文中一共展示了pycurl.MAXREDIRS屬性的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: test_post_data
# 需要導入模塊: import pycurl [as 別名]
# 或者: from pycurl import MAXREDIRS [as 別名]
def test_post_data(self):
curl = CurlStub(b"result")
result = fetch("http://example.com", post=True, data="data", curl=curl)
self.assertEqual(result, b"result")
self.assertEqual(curl.options[pycurl.READFUNCTION](), b"data")
self.assertEqual(curl.options,
{pycurl.URL: b"http://example.com",
pycurl.FOLLOWLOCATION: 1,
pycurl.MAXREDIRS: 5,
pycurl.CONNECTTIMEOUT: 30,
pycurl.LOW_SPEED_LIMIT: 1,
pycurl.LOW_SPEED_TIME: 600,
pycurl.NOSIGNAL: 1,
pycurl.WRITEFUNCTION: Any(),
pycurl.POST: True,
pycurl.POSTFIELDSIZE: 4,
pycurl.READFUNCTION: Any(),
pycurl.DNS_CACHE_TIMEOUT: 0,
pycurl.ENCODING: b"gzip,deflate"})
示例2: test_post
# 需要導入模塊: import pycurl [as 別名]
# 或者: from pycurl import MAXREDIRS [as 別名]
def test_post(self):
curl = CurlStub(b"result")
result = fetch("http://example.com", post=True, curl=curl)
self.assertEqual(result, b"result")
self.assertEqual(curl.options,
{pycurl.URL: b"http://example.com",
pycurl.FOLLOWLOCATION: 1,
pycurl.MAXREDIRS: 5,
pycurl.CONNECTTIMEOUT: 30,
pycurl.LOW_SPEED_LIMIT: 1,
pycurl.LOW_SPEED_TIME: 600,
pycurl.NOSIGNAL: 1,
pycurl.WRITEFUNCTION: Any(),
pycurl.POST: True,
pycurl.DNS_CACHE_TIMEOUT: 0,
pycurl.ENCODING: b"gzip,deflate"})
示例3: test_cainfo
# 需要導入模塊: import pycurl [as 別名]
# 或者: from pycurl import MAXREDIRS [as 別名]
def test_cainfo(self):
curl = CurlStub(b"result")
result = fetch("https://example.com", cainfo="cainfo", curl=curl)
self.assertEqual(result, b"result")
self.assertEqual(curl.options,
{pycurl.URL: b"https://example.com",
pycurl.FOLLOWLOCATION: 1,
pycurl.MAXREDIRS: 5,
pycurl.CONNECTTIMEOUT: 30,
pycurl.LOW_SPEED_LIMIT: 1,
pycurl.LOW_SPEED_TIME: 600,
pycurl.NOSIGNAL: 1,
pycurl.WRITEFUNCTION: Any(),
pycurl.CAINFO: b"cainfo",
pycurl.DNS_CACHE_TIMEOUT: 0,
pycurl.ENCODING: b"gzip,deflate"})
示例4: test_headers
# 需要導入模塊: import pycurl [as 別名]
# 或者: from pycurl import MAXREDIRS [as 別名]
def test_headers(self):
curl = CurlStub(b"result")
result = fetch("http://example.com",
headers={"a": "1", "b": "2"}, curl=curl)
self.assertEqual(result, b"result")
self.assertEqual(curl.options,
{pycurl.URL: b"http://example.com",
pycurl.FOLLOWLOCATION: 1,
pycurl.MAXREDIRS: 5,
pycurl.CONNECTTIMEOUT: 30,
pycurl.LOW_SPEED_LIMIT: 1,
pycurl.LOW_SPEED_TIME: 600,
pycurl.NOSIGNAL: 1,
pycurl.WRITEFUNCTION: Any(),
pycurl.HTTPHEADER: ["a: 1", "b: 2"],
pycurl.DNS_CACHE_TIMEOUT: 0,
pycurl.ENCODING: b"gzip,deflate"})
示例5: test_pycurl_insecure
# 需要導入模塊: import pycurl [as 別名]
# 或者: from pycurl import MAXREDIRS [as 別名]
def test_pycurl_insecure(self):
curl = CurlStub(b"result")
result = fetch("http://example.com/get-ca-cert", curl=curl,
insecure=True)
self.assertEqual(result, b"result")
self.assertEqual(curl.options,
{pycurl.URL: b"http://example.com/get-ca-cert",
pycurl.FOLLOWLOCATION: 1,
pycurl.MAXREDIRS: 5,
pycurl.CONNECTTIMEOUT: 30,
pycurl.LOW_SPEED_LIMIT: 1,
pycurl.LOW_SPEED_TIME: 600,
pycurl.NOSIGNAL: 1,
pycurl.WRITEFUNCTION: Any(),
pycurl.SSL_VERIFYPEER: False,
pycurl.DNS_CACHE_TIMEOUT: 0,
pycurl.ENCODING: b"gzip,deflate"})
示例6: generate_curl
# 需要導入模塊: import pycurl [as 別名]
# 或者: from pycurl import MAXREDIRS [as 別名]
def generate_curl(self, url=None, headers=None):
""" 生成一個curl, 返回 curl 實例和用於獲取結果的 buffer
"""
curl = pycurl.Curl()
buff = StringIO()
curl.setopt(pycurl.COOKIEFILE, "cookie")
curl.setopt(pycurl.COOKIEJAR, "cookie_jar")
curl.setopt(pycurl.SHARE, self.http._share)
curl.setopt(pycurl.WRITEFUNCTION, buff.write)
curl.setopt(pycurl.FOLLOWLOCATION, 1)
curl.setopt(pycurl.MAXREDIRS, 5)
curl.setopt(pycurl.TIMEOUT, 3)
curl.setopt(pycurl.CONNECTTIMEOUT, 3)
if url:
curl.setopt(pycurl.URL, url)
if headers:
self.set_curl_headers(curl, headers)
return curl, buff
示例7: __init__
# 需要導入模塊: import pycurl [as 別名]
# 或者: from pycurl import MAXREDIRS [as 別名]
def __init__(self, url):
self.curl = pycurl.Curl()
self.curl.setopt(pycurl.FOLLOWLOCATION, 1)
self.curl.setopt(pycurl.MAXREDIRS, 5)
self.curl.setopt(pycurl.CONNECTTIMEOUT, 30)
self.curl.setopt(pycurl.TIMEOUT, 300)
self.curl.setopt(pycurl.NOSIGNAL, 1)
self.curl.setopt(pycurl.WRITEFUNCTION, self.write_cb)
self.curl.setopt(pycurl.URL, url)
self.curl.connection = self
# 合計下載字節數
self.total_downloaded = 0
示例8: url_check
# 需要導入模塊: import pycurl [as 別名]
# 或者: from pycurl import MAXREDIRS [as 別名]
def url_check(self, url):
'''下載地址檢查'''
url_info = {}
proto = urlparse.urlparse(url)[0]
if proto not in VALIDPROTOCOL:
print 'Valid protocol should be http or ftp, but % s found < %s >!' % (proto, url)
else:
ss = StringIO()
curl = pycurl.Curl()
curl.setopt(pycurl.FOLLOWLOCATION, 1)
curl.setopt(pycurl.MAXREDIRS, 5)
curl.setopt(pycurl.CONNECTTIMEOUT, 30)
curl.setopt(pycurl.TIMEOUT, 300)
curl.setopt(pycurl.NOSIGNAL, 1)
curl.setopt(pycurl.NOPROGRESS, 1)
curl.setopt(pycurl.NOBODY, 1)
curl.setopt(pycurl.HEADERFUNCTION, ss.write)
curl.setopt(pycurl.URL, url)
try:
curl.perform()
except:
pass
if curl.errstr() == '' and curl.getinfo(pycurl.RESPONSE_CODE) in STATUS_OK:
url_info['url'] = curl.getinfo(pycurl.EFFECTIVE_URL)
url_info['file'] = os.path.split(url_info['url'])[1]
url_info['size'] = int(
curl.getinfo(pycurl.CONTENT_LENGTH_DOWNLOAD))
url_info['partible'] = (ss.getvalue().find('Accept - Ranges') != -1)
return url_info
示例9: _set_common
# 需要導入模塊: import pycurl [as 別名]
# 或者: from pycurl import MAXREDIRS [as 別名]
def _set_common(self, c):
c.setopt(pycurl.FOLLOWLOCATION, 1)
c.setopt(pycurl.AUTOREFERER, 1)
c.setopt(pycurl.ENCODING, self._accept_encoding)
c.setopt(pycurl.MAXREDIRS, 255)
c.setopt(pycurl.CONNECTTIMEOUT, 30)
c.setopt(pycurl.TIMEOUT, 300)
c.setopt(pycurl.NOSIGNAL, 1)
if self._proxy:
c.setopt(pycurl.PROXY, self._proxy)
if self._url.scheme == 'https':
c.setopt(pycurl.SSLVERSION, 3)
c.setopt(pycurl.SSL_VERIFYPEER, 0)
示例10: test_basic
# 需要導入模塊: import pycurl [as 別名]
# 或者: from pycurl import MAXREDIRS [as 別名]
def test_basic(self):
curl = CurlStub(b"result")
result = fetch("http://example.com", curl=curl)
self.assertEqual(result, b"result")
self.assertEqual(curl.options,
{pycurl.URL: b"http://example.com",
pycurl.FOLLOWLOCATION: 1,
pycurl.MAXREDIRS: 5,
pycurl.CONNECTTIMEOUT: 30,
pycurl.LOW_SPEED_LIMIT: 1,
pycurl.LOW_SPEED_TIME: 600,
pycurl.NOSIGNAL: 1,
pycurl.WRITEFUNCTION: Any(),
pycurl.DNS_CACHE_TIMEOUT: 0,
pycurl.ENCODING: b"gzip,deflate"})
示例11: test_create_curl
# 需要導入模塊: import pycurl [as 別名]
# 或者: from pycurl import MAXREDIRS [as 別名]
def test_create_curl(self):
curls = []
def pycurl_Curl():
curl = CurlStub(b"result")
curls.append(curl)
return curl
Curl = pycurl.Curl
try:
pycurl.Curl = pycurl_Curl
result = fetch("http://example.com")
curl = curls[0]
self.assertEqual(result, b"result")
self.assertEqual(curl.options,
{pycurl.URL: b"http://example.com",
pycurl.FOLLOWLOCATION: 1,
pycurl.MAXREDIRS: 5,
pycurl.CONNECTTIMEOUT: 30,
pycurl.LOW_SPEED_LIMIT: 1,
pycurl.LOW_SPEED_TIME: 600,
pycurl.NOSIGNAL: 1,
pycurl.WRITEFUNCTION: Any(),
pycurl.DNS_CACHE_TIMEOUT: 0,
pycurl.ENCODING: b"gzip,deflate"})
finally:
pycurl.Curl = Curl
示例12: secure_download
# 需要導入模塊: import pycurl [as 別名]
# 或者: from pycurl import MAXREDIRS [as 別名]
def secure_download(url, cainfo=""):
import pycurl
import io
c = pycurl.Curl()
c.setopt(pycurl.URL, url.encode("ascii"))
# -k / --insecure
# c.setopt(pycurl.SSL_VERIFYPEER, 0)
# Verify certificate
c.setopt(pycurl.SSL_VERIFYPEER, 1)
# Verify CommonName or Subject Alternate Name
c.setopt(pycurl.SSL_VERIFYHOST, 2)
# --cacert
if cainfo:
c.setopt(pycurl.CAINFO, cainfo)
res = io.StringIO()
c.setopt(pycurl.WRITEFUNCTION, res.write)
# follow up to 10 http location: headers
c.setopt(pycurl.FOLLOWLOCATION, 1)
c.setopt(pycurl.MAXREDIRS, 10)
c.perform()
c.close()
data = res.getvalue()
res.close()
return data
示例13: test_get_html_http_no_callbacks
# 需要導入模塊: import pycurl [as 別名]
# 或者: from pycurl import MAXREDIRS [as 別名]
def test_get_html_http_no_callbacks(self):
import pycurl
import io
# Test http with no callbacks
mock_curl_instance = Mock()
mock_stringio_instance = Mock()
mock_stringio_instance.getvalue.return_value = "mock StringIO value"
# Expected pycurl setopt calls
expected_setopt_calls = [
call(pycurl.URL, b"https://example.com/file.extension"),
call(pycurl.WRITEFUNCTION, mock_stringio_instance.write),
call(pycurl.FOLLOWLOCATION, 1),
call(pycurl.MAXREDIRS, 10),
call(
pycurl.USERAGENT,
"Fedora Upstream Release Monitoring "
"(https://fedoraproject.org/wiki/Upstream_release_monitoring)",
),
call(pycurl.CONNECTTIMEOUT, 10),
call(pycurl.TIMEOUT, 30),
]
with patch.object(pycurl, "Curl") as mock_curl_constructor:
with patch.object(io, "StringIO") as mock_stringio_constructor:
mock_curl_constructor.return_value = mock_curl_instance
mock_stringio_constructor.return_value = mock_stringio_instance
get_html_result = helpers.get_html("https://example.com/file.extension")
# Check curl calls
mock_curl_instance.setopt.assert_has_calls(expected_setopt_calls)
mock_curl_instance.perform.assert_called_once_with()
mock_curl_instance.close.assert_called_once_with()
self.assertEqual(get_html_result, "mock StringIO value")
示例14: test_secure_download
# 需要導入模塊: import pycurl [as 別名]
# 或者: from pycurl import MAXREDIRS [as 別名]
def test_secure_download(self):
import pycurl
import io
# Required mocks
mock_curl_instance = Mock()
mock_stringio_instance = Mock()
mock_stringio_instance.getvalue.return_value = "mock StringIO value"
# Expected pycurl setopt calls
expected_setopt_calls = [
call(pycurl.URL, b"https://example.com/file.extension"),
call(pycurl.SSL_VERIFYPEER, 1),
call(pycurl.SSL_VERIFYHOST, 2),
call(pycurl.CAINFO, "/etc/certs/cabundle.pem"),
call(pycurl.WRITEFUNCTION, mock_stringio_instance.write),
call(pycurl.FOLLOWLOCATION, 1),
call(pycurl.MAXREDIRS, 10),
]
with patch.object(pycurl, "Curl") as mock_curl_constructor:
with patch.object(io, "StringIO") as mock_stringio_constructor:
mock_curl_constructor.return_value = mock_curl_instance
mock_stringio_constructor.return_value = mock_stringio_instance
secure_download_result = helpers.secure_download(
"https://example.com/file.extension", "/etc/certs/cabundle.pem"
)
# Check curl calls
mock_curl_instance.setopt.assert_has_calls(expected_setopt_calls)
mock_curl_instance.perform.assert_called_once_with()
mock_curl_instance.close.assert_called_once_with()
# Check StringIO call
mock_stringio_instance.getvalue.assert_called_once_with()
self.assertEqual(secure_download_result, "mock StringIO value")
示例15: test_secure_download_no_cainfo
# 需要導入模塊: import pycurl [as 別名]
# 或者: from pycurl import MAXREDIRS [as 別名]
def test_secure_download_no_cainfo(self):
import pycurl
import io
# Required mocks
mock_curl_instance = Mock()
mock_stringio_instance = Mock()
mock_stringio_instance.getvalue.return_value = "mock StringIO value"
mock_stringio_instance.getvalue.return_value = "mock StringIO value"
expected_setopt_calls = [
call(pycurl.URL, b"https://example.com/file.extension"),
call(pycurl.SSL_VERIFYPEER, 1),
call(pycurl.SSL_VERIFYHOST, 2),
call(pycurl.WRITEFUNCTION, mock_stringio_instance.write),
call(pycurl.FOLLOWLOCATION, 1),
call(pycurl.MAXREDIRS, 10),
]
with patch.object(pycurl, "Curl") as mock_curl_constructor:
with patch.object(io, "StringIO") as mock_stringio_constructor:
mock_curl_constructor.return_value = mock_curl_instance
mock_stringio_constructor.return_value = mock_stringio_instance
secure_download_result = helpers.secure_download(
"https://example.com/file.extension"
)
# Check curl calls
mock_curl_instance.setopt.assert_has_calls(expected_setopt_calls)
mock_curl_instance.perform.assert_called_once_with()
mock_curl_instance.close.assert_called_once_with()
# Check StringIO call
mock_stringio_instance.getvalue.assert_called_once_with()
self.assertEqual(secure_download_result, "mock StringIO value")