Найти - Пользователи
Полная версия: как узнать какой прокси взят из массива proxies для текущего запроса?
Начало » Python для новичков » как узнать какой прокси взят из массива proxies для текущего запроса?
1
contikiv1
Здравст

привожу схематически часть моего кода
как узнать какой прокси взят из массива proxies для текущего запроса?

proxies={
'http': 'http://111',
'http': 'http://222',
'http': 'http://333'
}

for i in range(1,100)
rq = requests.get(url, headers=headers, proxies=proxies)
другие команды
....
py.user.next
contikiv1
как узнать какой прокси взят из массива proxies для текущего запроса?
  
proxies={
    'http': 'http://111',
    'http': 'http://222',
    'http': 'http://333'
}
Неправильно словарь делаешь.
  >>> proxies={
...     'http': 'http://111',
...     'http': 'http://222',
...     'http': 'http://333'
... }
>>> proxies
{'http': 'http://333'}
>>>
Читай тут, как прокси в requests настраивать
https://docs.python-requests.org/en/latest/user/advanced/#proxies

contikiv1
как узнать какой прокси взят из массива proxies для текущего запроса?
Можешь сделать прослушивающий словарь.
  
>>> class LogDict(dict):
...     
...     log = []
...     
...     def __getitem__(self, key):
...         self.log.append(key)
...         return super().__getitem__(key)
...     
...     def get(self, key, arg=None):
...         self.log.append(key)
...         return super().get(key, arg)
...     
...     def showlog(self):
...         return self.log
... 
>>> d = {1: 2, 3: 4, 5: 6}
>>>     
... dct = LogDict(d)
>>> 
>>> print(dct)
{1: 2, 3: 4, 5: 6}
>>> 
>>> print(dct[1], dct[3], dct[5])
2 4 6
>>> print(dct.showlog())
[1, 3, 5]
>>> 
>>> print(dct.get(5, 0), dct.get(3, 'x'), dct.get(1, 2.5), dct.get(8, 'no'))
6 4 2 no
>>> print(dct.showlog())
[1, 3, 5, 5, 3, 1, 8]
>>>
contikiv1
спасибо!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB