एडाप्टर है कि आप नीचे
if max_retries == DEFAULT_RETRIES:
self.max_retries = Retry(0, read=False)
else:
self.max_retries = Retry.from_int(max_retries)
का उपयोग कर पुन: प्रयास सेट प्रारंभ और अगर आप प्रारंभ
def __init__(self, total=10, connect=None, read=None, redirect=None, status=None,
method_whitelist=DEFAULT_METHOD_WHITELIST, status_forcelist=None,
backoff_factor=0, raise_on_redirect=True, raise_on_status=True,
history=None, respect_retry_after_header=True):
पर देखने respect_retry_after_header
का डिफ़ॉल्ट मान True
है। आपको अपने मामले में False
की आवश्यकता है। आप कर्ल
$ curl -I http://www.etudes.ccip.fr/maintenance_site.php
HTTP/1.1 503 Service Temporarily Unavailable
Date: Thu, 23 Nov 2017 14:15:49 GMT
Server: Apache
Status: 503 Service Temporarily Unavailable
Retry-After: 3600
Expires: Sat, 26 Jul 1997 05:00:00 GMT
Cache-Control: pre-check=0, post-check=0, max-age=0
Pragma: no-cache
Connection: close
Content-Type: text/html; charset=ISO-8859-1
का उपयोग कर प्रतिक्रिया का निरीक्षण यदि आप respect_retry_after_header
गलत पर सेट करना चाहते हैं। इस अनुकूलक इस व्यवहार
import requests
from requests.adapters import HTTPAdapter
url = 'http://www.etudes.ccip.fr/maintenance_site.php'
session = requests.Session()
adapter = HTTPAdapter(max_retries=2)
adapter.max_retries.respect_retry_after_header = False
session.mount('http://', adapter)
session.get(url, timeout=2)
स्रोत
2017-11-23 14:17:11
आप अजगर के किन संस्करणों की क्या ज़रूरत है ने कहा है? कोड उबंटू पर पायथन 2.7.12 के साथ ठीक काम करता है। सर्वर यूआरएल के लिए status_code = 503 के साथ प्रतिक्रिया करता है। – andpei
@fast_cen, मुझे पता है कि आप पहले ही एक जवाब स्वीकार कर चुके हैं। लेकिन मुझे विश्वास है कि रीट्री हेडर का सम्मान करने के लिए आप उन रीट्रीज़ को अक्षम करने के बजाय सही तरीके से काम करना चाहते हैं –