Requests: https:// рдкрд╛рдпрдерди 3.6 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 7 рджрд┐рд╕ре░ 2016  ┬╖  16рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: psf/requests

https:// url рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╕рдордп, request рд╡рд┐рдзрд┐ рдПрдХ рдЕрдирдВрдд рд░рд┐рдХрд░реНрд╕рди рдореЗрдВ рдЖрддреА рд╣реИред

рдореБрджреНрджрд╛ рдпрд╣ рддрд░реАрдХрд╛ рд╣реИ python/ssl.py ред

    @options.setter
    def options(self, value):
        super(SSLContext, SSLContext).options.__set__(self, value)

рдЗрд╕ рд▓рд╛рдЗрди рдХреЛ рдЕрдЬрдЧрд░ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░рд╛рдиреЗ рд╡рд╛рд▓реА рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдпрд╣ рд╣реИ https://hg.python.org/cpython/rev/c32e9f9b00f7 ред

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рддреНрд░реБрдЯрд┐ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:

  File "/usr/local/lib/python3.6/site-packages/requests/sessions.py", line 501, in get
    return self.request('GET', url, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/requests/sessions.py", line 488, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python3.6/site-packages/requests/sessions.py", line 609, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/requests/adapters.py", line 423, in send
    timeout=timeout
  File "/usr/local/lib/python3.6/site-packages/requests/packages/urllib3/connectionpool.py", line 594, in urlopen
    chunked=chunked)
  File "/usr/local/lib/python3.6/site-packages/requests/packages/urllib3/connectionpool.py", line 350, in _make_request
    self._validate_conn(conn)
  File "/usr/local/lib/python3.6/site-packages/requests/packages/urllib3/connectionpool.py", line 835, in _validate_conn
    conn.connect()
  File "/usr/local/lib/python3.6/site-packages/requests/packages/urllib3/connection.py", line 311, in connect
    cert_reqs=resolve_cert_reqs(self.cert_reqs),
  File "/usr/local/lib/python3.6/site-packages/requests/packages/urllib3/util/ssl_.py", line 264, in create_urllib3_context
    context.options |= options
  File "/usr/local/lib/python3.6/ssl.py", line 459, in options
    super(SSLContext, SSLContext).options.__set__(self, value)
  File "/usr/local/lib/python3.6/ssl.py", line 459, in options
    super(SSLContext, SSLContext).options.__set__(self, value)
  File "/usr/local/lib/python3.6/ssl.py", line 459, in options
    super(SSLContext, SSLContext).options.__set__(self, value)
  [Previous line repeated 316 more times]
RecursionError: maximum recursion depth exceeded while calling a Python object

python 3.6.0b4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЕрдиреБрд░реЛрдзреЛрдВ рдореЗрдВ рдЬреАрд╡реЗрдВрдЯ рдФрд░ рдордВрдХреА рдкреИрдЪрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдпрд╛рдд рд╕рдордп рдкрд░ рдЪреБрдирд┐рдВрджрд╛ рдореЙрдбреНрдпреВрд▓ рдкрд░ рдлреАрдЪрд░ рдбрд┐рдЯреЗрдХреНрд╢рди рдХрд░рддрд╛ рд╣реИред рднрд╡рд┐рд╖реНрдп рдХреА рд░рд┐рд▓реАрдЬрд╝ рдЗрд╕реЗ рдПрдХ рдирдП urllib3 рдХреЗ рд╕рд╛рде рдЕрджреНрдпрддрд┐рдд рдХрд░реЗрдЧреА рдЬрд┐рд╕рдореЗрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рдмреАрдЪ gevent рдХреЗ рдмрдВрджрд░ рдкреИрдЪ рдХреЛ рдЕрдиреБрд░реЛрдз рдЖрдпрд╛рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕рднреА 16 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдПрдХ рдмрдЧ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ: рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕реАрдзреЗ рд╡рд┐рдХрд▓реНрдк рд╕реЗрдЯ рдХрд░рддреЗ рд╕рдордп рдПрдХ рдЕрдирдВрдд рд░рд┐рдХрд░реНрд╕рди рдкреЗрд╢ рдХрд┐рдпрд╛ред @рддрд┐рд░рд╛рди?

рдореИрдВ рдЕрдкрдиреА рдорд╢реАрди рдкрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ (рдирд╡реАрдирддрдо рдПрдЪрдЬреА 3.6 рд╢рд╛рдЦрд╛ рд╕реЗ рдкрд╛рдпрдерди)

$ ./python 
Python 3.6.0+ (3.6:c4f39b6f3176, Dec  7 2016, 21:55:50) 
[GCC 6.2.1 20160916 (Red Hat 6.2.1-2)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>> ctx = ssl.SSLContext(ssl.PROTOCOL_TLS)
>>> ctx.options |= 5
>>> class MySSLContext(ssl.SSLContext):
...     pass
... 
>>> ctx = MySSLContext(ssl.PROTOCOL_TLS)
>>> ctx.options |= 5

рдореИрдВрдиреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдЕрдВрдд рд╕реЗ рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдерд╛; рдореИрдВ рдЗрд╕реЗ 3.6.0b4 рдпрд╛ 3.6.0rc1 рдкрд░ рд╣рд┐рдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛:

$ python
Python 3.6.0b4 (v3.6.0b4:18496abdb3d5, Nov 21 2016, 20:44:47)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>> requests.get('https://github.com/kennethreitz/requests/issues/3752')
<Response [200]>
$ python
Python 3.6.0rc1 (v3.6.0rc1:29a273eee9a5, Dec  6 2016, 16:24:13)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>> requests.get('https://github.com/kennethreitz/requests/issues/3752')
<Response [200]>

рдХреНрдпрд╛ рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдпрд╛ URL-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реЛ?

(рдУрдПрд╕ рдПрдХреНрд╕ 10.12.1, 16рдмреА2659, рдореЗрд░реЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд▓рд┐рдП)

рдЕрдиреБрд░реЛрдз рдПрдЪрдЬреА рд╕реЗ рднреА рдкрд╛рдпрдерди 3.6.0 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

$ ./python -m venv venv
$ venv/bin/pip install requests
Collecting requests
  Using cached requests-2.12.3-py2.py3-none-any.whl
Installing collected packages: requests
Successfully installed requests-2.12.3
$ venv/bin/python
Python 3.6.0+ (3.6:c4f39b6f3176, Dec  7 2016, 21:55:50) 
[GCC 6.2.1 20160916 (Red Hat 6.2.1-2)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>> requests.get('https://www.python.org')
<Response [200]>

рдареАрдХ рд╣реИ, рддреЛ рдЕрднреА рдпрд╣ "рд░рд┐рдкреНрд░реЛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛" рд╕реНрдерд┐рддрд┐ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред рдЖрдкрдХреЗ рдЗрдВрд╕реНрдЯреЙрд▓ @juokaz рдХреЛ рджреЗрдЦрдиреЗ рд▓рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдереЛрдбрд╝рд╛ рд╕рд╛ рджреБрд░реНрд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдЖрдЧреЗ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рдмрд╛рдж, рдореИрдВ рдЗрд╕реЗ gevent рдореБрджреНрджреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ (рдЬрд┐рд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛)ред

рдореИрдВ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдореБрдЭреЗ рдЗрд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЗ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛? рдЗрд╕ рдкрд░ рдЧреМрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╣рд░ рдХреЛрдИред

root<strong i="8">@8042e3f57981</strong>:/app# python
Python 3.6.0b4 (default, Nov 23 2016, 21:34:29)
[GCC 4.9.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import gevent.monkey
>>> gevent.monkey.patch_all()
>>>
>>> from requests.packages.urllib3.util.ssl_ import create_urllib3_context
>>> create_urllib3_context()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.6/site-packages/requests/packages/urllib3/util/ssl_.py", line 268, in create_urllib3_context
    context.options |= options
  File "/usr/local/lib/python3.6/ssl.py", line 459, in options
    super(SSLContext, SSLContext).options.__set__(self, value)
  File "/usr/local/lib/python3.6/ssl.py", line 459, in options
    super(SSLContext, SSLContext).options.__set__(self, value)
  File "/usr/local/lib/python3.6/ssl.py", line 459, in options
    super(SSLContext, SSLContext).options.__set__(self, value)
  [Previous line repeated 329 more times]
RecursionError: maximum recursion depth exceeded while calling a Python object
>>>

рд╣рд╛рдБ, рдпрд╣ рдПрдХ gevent рдореБрджреНрджрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЧреАрд╡реЗрдВрдЯ рдЕрднреА рддрдХ рдкрд╛рдпрдерди 3.6 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рд╕реБрдкрд░() рдХреЙрд▓ рдЕрдЬреАрдм рд▓рдЧ рд░рд╣рд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд╣реА рд╣реИред рдпрд╣ рдореВрд▓ рд╡рд░реНрдЧ рдХреЗ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╡рд░реНрдгрдирдХрд░реНрддрд╛ рдХреЛ рд▓рд╛рдиреЗ рдХрд╛ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХрд╛ рд╣реИред рдПрдХ рдЙрдкрд╡рд░реНрдЧ рдореЗрдВ рдПрдХ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдЖрд╡рд╢реНрдпрдХ рдмреБрд░рд╛рдИ рд╣реИред Google рд╕реЗ "рдбреЗрд╡рд┐рдб рдмреЗрдЬрд╝рд▓реЗ рд╕рдмрдХреНрд▓рд╛рд╕ рдкреНрд░реЙрдкрд░реНрдЯреА" рдорд╛рдВрдЧреЗрдВ рдФрд░ рдпрд╣ рдЖрдкрдХреЛ рд╡рд╣реА рджрд┐рдЦрд╛рдПрдЧрд╛, https://www.safaribooksonline.com/library/view/python-cookbook-3rd/9781449357337/ch08s08.html

>>> from ssl import SSLContext
>>> super(SSLContext, SSLContext).options
<attribute 'options' of '_ssl._SSLContext' objects>
>>> import _ssl
>>> super(SSLContext, SSLContext).options is _ssl._SSLContext.options
True

рдХреЙрд▓ super(SSLContext, SSLContext).options.__set__(self, value) рдореВрд▓ рд╡рд░реНрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╕реЗрдЯрд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рдорд╛рди рд╣реИред

рдпрд╣рд╛рдВ рдЗрд╕реА рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП рдЬреЗрд╡реЗрдВрдЯ рдЯрд┐рдХрдЯ рдХрд╛ рд╕рдВрджрд░реНрдн рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: https://github.com/gevent/gevent/issues/903
рдЧреАрд╡реЗрдВрдЯ рдХреЛ рдЕрдм рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ>1.2 рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдЕрднреА рднреА рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЖ рд░рд╣реА рд╣реИ, рддреЛ рдЗрд╕реЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг pip install --upgrade gevent рд╕рд╛рде рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

@pirate рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдХреЛрдИ рдЕрдиреНрдп рд╡рд┐рдЪрд╛рд░? рджреВрд╕рд░рд╛ рдзрд╛рдЧрд╛ рдмрдВрдж рд╣реИред

@AeroNotix рдХреГрдкрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдпрд╛ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЯреНрд░реИрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ

@pirate рдХреНрдпрд╛ рдЖрдк рдЙрд╕ рдЯрд┐рдХрдЯ рдХреЛ рдЕрдирд▓реЙрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдореБрдЭреЗ рдЕрднреА рднреА рд╕рдм рдХреБрдЫ рдХреЗ рдЙрдиреНрдирдд рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдЬрдЧрд░ 3.6 рдкрд░ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдирд╣реАрдВ, @AeroNotix , рдореИрдВ рдХрд┐рд╕реА рднреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛ рдирд╣реАрдВ рд╣реВрдВ, рд╢рд╛рдпрдж рдЖрдк рджреВрд╕рд░реЗ рдереНрд░реЗрдб рдХреЗ рд▓реЛрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХреЛ рд╕реАрдзреЗ рдИрдореЗрд▓/рдЖрдИрдЖрд░рд╕реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

@pirata рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА python 3.6.1 , gevent 1.2.1 , requests 2.13.0 ред рдкреНрд░рдЬрдирди рдХреЗ рдЪрд░рдг:

import requests
import gevent.monkey
gevent.monkey.patch_ssl()
requests.get("https://google.com")

рдЕрдЧрд░ рдореИрдВ рдкреИрдЪ рдХреЗ рдмрд╛рдж requests рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдРрд╕рд╛ рд╣реБрдЖ рдХрд░рддрд╛ рдерд╛ рдХрд┐ рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝реЗрдЧрд╛ рдФрд░ рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдкреБрд░рд╛рдиреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдкрдХреЛ рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ @ рд▓реБрдХрд╛рд╕рд╛ ?

рдЕрдиреБрд░реЛрдзреЛрдВ рдореЗрдВ рдЬреАрд╡реЗрдВрдЯ рдФрд░ рдордВрдХреА рдкреИрдЪрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдпрд╛рдд рд╕рдордп рдкрд░ рдЪреБрдирд┐рдВрджрд╛ рдореЙрдбреНрдпреВрд▓ рдкрд░ рдлреАрдЪрд░ рдбрд┐рдЯреЗрдХреНрд╢рди рдХрд░рддрд╛ рд╣реИред рднрд╡рд┐рд╖реНрдп рдХреА рд░рд┐рд▓реАрдЬрд╝ рдЗрд╕реЗ рдПрдХ рдирдП urllib3 рдХреЗ рд╕рд╛рде рдЕрджреНрдпрддрд┐рдд рдХрд░реЗрдЧреА рдЬрд┐рд╕рдореЗрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рдмреАрдЪ gevent рдХреЗ рдмрдВрджрд░ рдкреИрдЪ рдХреЛ рдЕрдиреБрд░реЛрдз рдЖрдпрд╛рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

@ рд▓реБрдХрд╛рд╕рд╛ рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рд░рд┐рд▓реАрдЬ рдХрд╛ рдЬрд┐рдХреНрд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

jake491 picture jake491  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

iLaus picture iLaus  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

remram44 picture remram44  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

avinassh picture avinassh  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jakul picture jakul  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ