В 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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