В Python превышен предел скорости на уровне системы, несмотря на использование нескольких прокси, каждый из которых вызы ⇐ Python

Программы на Python
Anonymous
В Python превышен предел скорости на уровне системы, несмотря на использование нескольких прокси, каждый из которых вызы

Сообщение Anonymous »

Я столкнулся с проблемой ограничения скорости в моем коде Python, хотя я использую несколько прокси-серверов и гарантирую, что каждый прокси-сервер вызывается только один раз. Несмотря на это, я продолжаю получать сообщение об ошибке:

"Превышен предел скорости на уровне системы".

Вот обзор моей настройки:
У меня есть список прокси, и я использую каждый прокси только для одного запроса, каждый прокси вызывается только один раз (но использование потока для одновременного вызова множества запросов).
Однако после нескольких запросов я все равно получаю ошибку ограничения скорости.
Вот упрощенная версия моего кода Python :
def _request(self, method, uri, timeout=5, auth=True, params=None):

uri_path = uri
data_json = ''
if method in ['GET', 'DELETE']:
if params:
strl = []
for key in sorted(params):
strl.append("{}={}".format(key, params[key]))
data_json += '&'.join(strl)
uri += '?' + data_json
uri_path = uri

else:
if params:
data_json = json.dumps(params)

uri_path = uri + data_json

headers = {}
if auth:
now_time = int(time.time()) * 1000
str_to_sign = str(now_time) + method + uri_path
sign = base64.b64encode(
hmac.new(self.secret.encode('utf-8'), str_to_sign.encode('utf-8'), hashlib.sha256).digest())
if self.is_v1api:
headers = {
"KC-API-SIGN": sign,
"KC-API-TIMESTAMP": str(now_time),
"KC-API-KEY": self.key,
"KC-API-PASSPHRASE": self.passphrase,
"Content-Type": "application/json"
}
else:
passphrase = base64.b64encode(
hmac.new(self.secret.encode('utf-8'), self.passphrase.encode('utf-8'), hashlib.sha256).digest())
headers = {
"KC-API-SIGN": sign,
"KC-API-TIMESTAMP": str(now_time),
"KC-API-KEY": self.key,
"KC-API-PASSPHRASE": passphrase,
"Content-Type": "application/json",
"KC-API-KEY-VERSION": "2"
}
headers["User-Agent"] = "kucoin-python-sdk/"+version
url = urljoin(self.url, uri)

proxy_dict = {'http': self.cl_proxy, 'https': self.cl_proxy} #if self.cl_proxy else None
#print (url,proxy_dict)
if method in ['GET', 'DELETE']:
r = requests.request(method, url, headers=headers, timeout=timeout, proxies=proxy_dict)
else:
r = requests.request(method, url, headers=headers, data=data_json, timeout=timeout, proxies=proxy_dict)

if ("System-level rate limit exceeded"):
s = str(url) + str(self.key)+ str(proxy_dict ) + str(r.status_code)
print (s)


Подробнее здесь: https://stackoverflow.com/questions/790 ... oxies-each

Вернуться в «Python»