Httpie: HTTPie рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреА рдЕрдирджреЗрдЦреА рдХрд░рддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 9 рдЬреВрди 2016  ┬╖  20рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: httpie/httpie

HTTPie рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреА рдЕрдирджреЗрдЦреА рдХрд░рддрд╛ рд╣реИ

http --debug -j https://example_using_my_ca.com

HTTPie 0.9.3
HTTPie data: /home/lukas/.httpie
Requests 2.10.0
Pygments 1.6
Python 3.4.3 (default, Oct 14 2015, 20:28:29) 
[GCC 4.8.4] linux

>>> requests.request(**{'allow_redirects': False,
 'auth': None,
 'cert': None,
 'data': '',
 'files': DataDict(),
 'headers': {'Accept': b'application/json',
             'Content-Type': b'application/json',
             'User-Agent': b'HTTPie/0.9.3'},
 'method': 'get',
 'params': ParamsDict(),
 'proxies': {},
 'stream': True,
 'timeout': 30,
 'url': 'https://example_using_my_ca.com',
 'verify': True})

Traceback (most recent call last):
  File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/connectionpool.py", line 578, in urlopen
    chunked=chunked)
  File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/connectionpool.py", line 351, in _make_request
    self._validate_conn(conn)
  File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/connectionpool.py", line 814, in _validate_conn
    conn.connect()
  File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/connection.py", line 289, in connect
    ssl_version=resolved_ssl_version)
  File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/util/ssl_.py", line 308, in ssl_wrap_socket
    return context.wrap_socket(sock, server_hostname=server_hostname)
  File "/usr/lib/python3.4/ssl.py", line 365, in wrap_socket
    _context=self)
  File "/usr/lib/python3.4/ssl.py", line 601, in __init__
    self.do_handshake()
  File "/usr/lib/python3.4/ssl.py", line 828, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.4/dist-packages/requests/adapters.py", line 403, in send
    timeout=timeout
  File "/usr/local/lib/python3.4/dist-packages/requests/packages/urllib3/connectionpool.py", line 604, in urlopen
    raise SSLError(e)
requests.packages.urllib3.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/http", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.4/dist-packages/httpie/core.py", line 115, in main
    response = get_response(args, config_dir=env.config.directory)
  File "/usr/local/lib/python3.4/dist-packages/httpie/client.py", line 48, in get_response
    response = requests_session.request(**kwargs)
  File "/usr/local/lib/python3.4/dist-packages/requests/sessions.py", line 475, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python3.4/dist-packages/requests/sessions.py", line 585, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python3.4/dist-packages/requests/adapters.py", line 477, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600)

рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП, рдХрд░реНрд▓ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: curl https://example_using_my_ca.com

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

рдХреНрдпрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░рд╛рд╕реНрддреЛрдВ рдХреЛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП ssl.get_default_verify_paths () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рд╣реА рд╣реЛрдЧрд╛?

рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░реВрдВрдЧрд╛:

рдпрджрд┐ --verify рдмрд┐рдирд╛ рдпрд╛ рд╣рд╛рдБ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд╕ рдХрд░реЗрдВред

рдпрджрд┐ - рд╣рд╛рдВ рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
1) рдЕрдЧрд░ REQUESTS_CA_BUNDLE рд╕реЗрдЯ рд╣реИ, рддреЛ рд╕рддреНрдп рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕ рдХрд░реЗрдВред
2) рдПрд▓рд┐рдл рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ ssl.get_default_verify_paths () .ssl_cafile_env рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВ
4) рдПрд▓рд┐рдл рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ ssl.get_default_verify_paths () .ssl_capath_env рдХреЛ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ
5) elif ssl.get_default_verify_paths ()ред Capath рдХреЛрдИ рдирд╣реАрдВ рд╣реИ, рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕ рдХрд░реЗрдВ
6) рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдЪ рд╣реИ

рд▓реЗрдХрд┐рди рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ ssl.get_default_verify_paths рдХреЗрд╡рд▓ python3.4 рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИ

@ рд╡реЗрд▓реНрд╡ рди рдХреЗрд╡рд▓ 3.4+ рдФрд░ 2.7.10+ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ рдмрд▓реНрдХрд┐ рдпрд╣ рд╣рд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЕрдиреБрд░реЛрдз рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдореБрджреНрджреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдХреГрдкрдпрд╛ httpie рдкрд░ рд▓рдЧрд╛рддрд╛рд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдирд╛ рдмрдВрдж рдХрд░реЗрдВред рдпрд╣ рдПрдХ рдЪрд┐рдВрддрд╛ рд╣реИ рдЬреЛ рдЕрдиреБрд░реЛрдзреЛрдВ рдореЗрдВ рдореМрдЬреВрдж рд╣реИ рди рдХрд┐ httpie IMO рдХреЗ рд▓рд┐рдПред

@ sigmavirus24 wtf рдЖрджрдореА? рд▓рдЧрд╛рддрд╛рд░ рдХрдореЗрдВрдЯ рдХрд░рдиреЗ рд╕реЗ рдЖрдкрдХреЛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЬреЛ рднреА рд╣реЛ, рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рднреА httpie рдХреЗ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛ рдирд╣реАрдВ рд╣реИрдВред рдореИрдВ рд╕рд┐рд░реНрдл рдПрдХ рдмреЗрд╡рдХреВрдл рдЯреНрд░реЛрд▓ рдорд╛рдирддрд╛ рд╣реВрдВ: /

рдХрд░реНрд▓ рд╕реНрд░реЛрдд рдХреЛрдб рдкрд░ рдПрдХ рддреНрд╡рд░рд┐рдд рдирдЬрд╝рд░ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдПрдХ рдХрд╛рд░реНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ ...ред

рдЙрди рд╕рднреА amiga рдФрд░ VMS ifdefs рдХреА рдЙрдкреЗрдХреНрд╖рд╛ рдФрд░ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ ssl рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рдмреЗрд╡рдХреВрдл рд╣реИ рдФрд░ рдпрд╣ Opensl X509_ * рд▓реБрдХрдЕрдк рд╡рд┐рдзрд┐рдпреЛрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Python SSL рдореЙрдбреНрдпреВрд▓ рдореЗрдВ get_default_verify_paths () рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд) рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╕рдВрдХрд▓рди рд╕рдордп рдкрд░ рдмрд╕ рдЬреНрдЮрд╛рдд рд╕реНрдерд╛рдиреЛрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдкрд░ рдХрд░реНрд▓ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд░рддрд╛ рд╣реИ (рдпрд╣ m4dness https://github.com/curl/curl/blob/master/acinclude.m4#L2560 рджреЗрдЦреЗрдВ) рдФрд░ рдлрд┐рд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ (CURL_CA_BUNDLE) рдХреЗ рд╕рд╛рде рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ ) SSL_CERT_DIR рдФрд░ SSL_CERT_FILE рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░ рдкрд░ (рдлрд┐рд░ рд╕реЗ X509_get_default_cert_file_env ()) рдЬреИрд╕реЗ рд╕рд╛рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдмрд╕ред

рддреЛ рд╢реБрджреНрдз рдЕрдЬрдЧрд░ рдореЗрдВ рдЙрд╕реА рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? (рд╣рд╛рдБ рдпрд╣ рдирд░рдХ рдХреЗ рд░реВрдк рдореЗрдВ рддреНрд╡рд░рд┐рдд рдФрд░ рдЧрдВрджрд╛ рджрд┐рдЦрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдХрд░реНрд▓ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!) рд▓реЗрдХрд┐рди рд╡рд┐рдВрдбреЛрдЬрд╝ (ssl.enum_certports) рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдирд╛ рдФрд░ рдУрдПрд╕ рдПрдХреНрд╕ (рдпрд╣рд╛рдБ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рдЕрдЬрдЧрд░ рдУрдПрд╕-рдПрдХреНрд╕ 10.6+ рдкрд░ рдРрдкреНрдкрд▓ рджреНрд╡рд╛рд░рд╛ рдЖрдкреВрд░реНрддрд┐ рдХреА рдЧрдИ рдУрдкрди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ? рддрд╛рдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдареАрдХ рд╣реЛ рдЬрд╛рдП!)ред

@ рд▓рд▓рд╡ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд▓реЗрдХрд┐рди рдХреГрдкрдпрд╛ рдЕрдиреНрдп рд╕рджрд╕реНрдпреЛрдВ рдХреЗ рдкреНрд░рддрд┐ рдЕрдзрд┐рдХ рд╕рдореНрдорд╛рдирдЬрдирдХ @ sigmavirus24 рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдПрдХ рдореБрдЦреНрдп рдбреЗрд╡рд▓рдкрд░ рд╣реИ рдЬрд┐рд╕ рдкрд░ httpie рд╕рднреА HTTP рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЬрд┐рд╕рдХреЗ рдмрд┐рдирд╛ рдпрд╣ рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЙрд╕рдХрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрддреНрдпрдВрдд рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ 3.0.0 рд░рд┐рд▓реАрдЬрд╝ рддрдХ рдЕрдиреБрд░реЛрдзреЛрдВ рдореЗрдВ рддрдп рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ ... рд╕рдВрднрд╡ рд╕рдВрдЧрддрддрд╛ рдореБрджреНрджреЛрдВ рдХреА рд╡рдЬрд╣ рд╕реЗ SSL_CERT_FILE рдХрд╛ рд╕рдорд░реНрдерди рднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ https://github.com/kennethreitz/requests/pull/2903

btwред рдореИрдВ рдЕрдкрдорд╛рдирдЬрдирдХ рд╣реЛрдиреЗ рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рдерд╛ рдХрд┐ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реЛрдЪрддрд╛ рдерд╛ рдХрд┐ рд╡рд╣ рдЯреНрд░реЛрд▓рд┐рдВрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ :) рдореИрдВ рдЕрдкрдиреЗ рд░рд╛рд╕реНрддреЗ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдХрд░ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧрдпрд╛ рдерд╛ рдФрд░ рдХрд┐рд╕реА рдиреЗ рдПрдХ рдмрд╛рд░ рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдпреЛрдЧрджрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рд╣реИ (рдореИрдВрдиреЗ HTTPie рдХреЗ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреА рдЬрд╛рдБрдЪ рдХреА рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕реА рд╢рддреНрд░реБрддрд╛рдкреВрд░реНрдг рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдерд╛) рдореВрд▓ рд░реВрдк рд╕реЗ рдореБрдЭреЗ рдЪреБрдк рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣ рд░рд╣рд╛ рдерд╛: /

@luv рдореИрдВ рдЖрдкрдХреЛ рдЪреБрдк рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд╣ рд░рд╣рд╛ рдерд╛ред рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ 763 рд▓реЛрдЧ рд╕рджрд╕реНрдпрддрд╛ рд▓реЗ рдЪреБрдХреЗ рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ 100% _might_ рдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдИрдореЗрд▓ рдорд┐рд▓рддреЗ рд╣реИрдВ (рд▓реЗрдХрд┐рди рдпрд╣ рд╢рд╛рдпрдж 70% рдпрд╛ ~ 534 рдХреА рддрд░рд╣ рдЕрдзрд┐рдХ рд╣реИ)ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдиреЗ (рд╕рдорд╕реНрдпрд╛ рдЦреБрд▓рдиреЗ рдХреЗ рдмрд╛рдж рдХреЗ 2 рдШрдВрдЯреЛрдВ рдореЗрдВ) ~ 1602 рдИрдореЗрд▓ (рд╕рдВрднрд╡рддрдГ рдХрдо рдпрд╛ рдЬреНрдпрд╛рджрд╛) рдмрдирд╛рдПред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдЪреЗрдд рдкреЛрд╕реНрдЯ рдХреА рд╕реНрдЯреНрд░реАрдо рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рд╕реНрдкреИрдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдирдИ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдЬрдм рдХрд┐рд╕реА рдиреЗ рдЖрдкрдХреЛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджрд┐рдпрд╛ рд╣реИ, рддреЛ рдореВрд▓ рдкреЛрд╕реНрдЯ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдХреЗред

рдЕрдВрдд рдореЗрдВ рдХреЛрдб рдпреЛрдЧрджрд╛рди рдХреЗрд╡рд▓ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдпреЛрдЧрджрд╛рди рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЖрдк рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рд╕рднреА рдпреЛрдЧрджрд╛рди рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдСрдХреНрдЯреЛрд╣рд╛рдЯреНрд░реИрдХ рдЬреИрд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ @jkbrzt рдХреЗ рд▓рд┐рдП httpie рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХрдИ рдЕрдиреБрд░реЛрдзреЛрдВ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ @jkbrzt рдХреЗ рд▓рд┐рдП , рдореБрдЭреЗ рдореЛрдЯреА рддреНрд╡рдЪрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЦрд░рд╛рдм (рдФрд░ рдХреБрдЫ рдмрд╛рд░ рдмрджрддрд░) рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореЗрд░реА рдореЛрдЯреА рддреНрд╡рдЪрд╛ рд╣реИред

рдПрдХ рд╕рд╛рдЗрдб рдиреЛрдЯ рдХреЗ рд░реВрдк рдореЗрдВ, "рд╡реЗ" рдЙрддрдиреЗ рд╣реА рд╡рд░реНрдг рд╣реИрдВ рдЬрд┐рддрдиреЗ "s / he" рдФрд░ рдЖрдорддреМрд░ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдЗрд╕реЗ рдХрд┐рд╕реА рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рддреЛ рдХреНрдпрд╛ рд╣рдо рдЗрд╕реЗ рдареАрдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

@jkbrzt рдореИрдВ рдЗрд╕реЗ рдПрдХ рдлреАрдЪрд░ рдХрд╣реВрдВрдЧрд╛, рдмрдЧ рдирд╣реАрдВред рдпрд╣ рдЬрд╛рдирдмреВрдЭрдХрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЕрдиреБрд░реЛрдз рд╡рд┐рдВрдбреЛрдЬ, * рдирд┐рдХреНрд╕ рдФрд░ рдмреАрдПрд╕рдбреА рдкрд░ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдХрдИ рд╕рд┐рд╕реНрдЯрдо рд╡рд┐рддрд░рдг рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЙрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕реНрдЯреЛрд░ / рдмрдВрдбрд▓ рдХреА рдУрд░ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рд╡реЗ рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рд╡рд┐рддрд░рдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреИрдХ рдХрд┐рдП рдЧрдП рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ HTTPie рдХреЗ рд╕рд╛рде рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдФрд░ рд╕рдВрднрд╡рддрдГ рд╕рд┐рд╕реНрдЯрдо рдкреИрдХ рдХрд┐рдП рдЧрдП HTTP рдХреЛрдб рдХреЗ рд╕рд╛рде)ред

рдХреЗ рд░реВрдк рдореЗрдВ "рдпрд╣ рддрдп рд╣реЛ рд░рд╣реА" рдХреЗ рд▓рд┐рдП, рдпрд╣ рддрдп рдХреА рдЕрдкрдиреА рдкрд░рд┐рднрд╛рд╖рд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рд╣реИ рдХрд┐ _will_ рдХреЛ рдЕрдиреБрд░реЛрдзреЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ред рдЬрд┐рд╕ рдмрд┐рдВрджреБ рдкрд░ HTTPie рдХреЛ рдореБрдлреНрдд рдореЗрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдорд┐рд▓реЗрдЧрд╛ред рдпрджрд┐ HTTPie рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЗрд╕реЗ рдПрдХ рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрддрд╛ рд╣реИ (рдЬреЛ @jkbrzt рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рдлрд┐рдЯ рджреЗрдЦрддреЗ рд╣реИрдВ) рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╡реЗ рдПрдХ рд░рд┐рд▓реАрдЬ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╛рд╕ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдХреА рдирдХрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдпрд╣ рдЬрд▓реНрджреА рдХрд░рддрд╛ рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк linux, @luv рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЖрдк рдЗрд╕ рддрдереНрдп рдХрд╛ рд▓рд╛рдн рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рд▓рд┐рдирдХреНрд╕ рдХреЗ рд╡рд┐рддрд░рдг рдореЗрдВ рд▓рдЧрднрдЧ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдЬреЛ рдЖрдЬ рд╕рд┐рд╕реНрдЯрдо рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рд╕реНрдЯреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЪреЗрдХ рдХрд┐рдП рдЧрдП рд▓рд┐рдирдХреНрд╕ рдХреЗ рд╣рд░ рд╡рд┐рддрд░рдг рдореЗрдВ рдкреИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЙрди рд╡рд┐рддрд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рд╣рд░ рдПрдХ рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕реНрдЯреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╢рд╛рдпрдж рдЖрдкрдХреЛ рдЙрд╕ рд╡рд┐рддрд░рдг рдХреЗ рдЕрдиреБрд░реЛрдз рдкреИрдХреЗрдЬ рдЕрдиреБрдЪрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдмрдЧ рджрд╛рдЦрд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

HTTP рдХреЗ рд╕рд╛рде рд╕рдорд╛рди рд╕рдВрднрд╛рд╡рдирд╛ рдЙрдкрдпреБрдХреНрдд рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд (ubuntu 14.04lts)

@ рд▓реНрд▓рд╡ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдПрдХ рддрдереНрдп рдХреЗ рд▓рд┐рдП рдЬрд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ 14.04 рдФрд░ 16.04 рдХреЗ рдЕрдиреБрд░реЛрдз рд╕рд┐рд╕реНрдЯрдо рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рд╕реНрдЯреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЖрдкрдиреЗ рдЕрдиреБрд░реЛрдз рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛?

рдореИрдВрдиреЗ httpie рдХреЗ ubuntu рд╡рд┐рддрд░рдг рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА "рдЕрдиреБрд░реЛрдзреЛрдВ" рдФрд░ "httpie" рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЖрдк рд╕рд╣реА рд╣реИрдВ рдХрд┐ рдореИрдВ рдЕрднреА рднреА PyPI рд╕реЗ httpie рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдЙрдмрдВрдЯреВ httpie "ImportError: рдЖрдпрд╛рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдирд╛рдо is_windows" рдЬреЛ рдПрдХ рдЬреНрдЮрд╛рдд рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ "pip3 рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓" рдЪрд▓рд╛рдирд╛ рднреВрд▓ рдЧрдпрд╛ рдФрд░ рдХреЗрд╡рд▓ "рдкрд┐рдк рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓" рдЪрд▓рд╛, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдкрд╣рд▓реА рдмрд╛рд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ ssl рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП python3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

рдореИрдВ рдЕрдкрдиреЗ httpie рд╕реЗрдЯрдЕрдк рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде 761 рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рд╕реЗ "рд╕реНрдкреИрдо" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдлреА рдорд╛рдБрдЧрддрд╛ рд╣реВрдБред

рдореИрдВ Gentoo Linux, httpie-0.9.9 рдФрд░ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ-2.18.4 (Gentoo рдореЗрдВ рдирд╡реАрдирддрдо рдЙрдкрд▓рдмреНрдз) рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд рд╕рд┐рд╕реНрдЯрдо-рд╡рд╛рдЗрдб, рдХреЛрдИ рдЕрдиреНрдп рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ (рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИ)ред рдЕрдиреНрдп рдЙрдкрдХрд░рдг (Opensl s_client, sslclient, рдХрд░реНрд▓) рд╕реНрдерд╛рдкрд┐рдд рд╕реНрдерд╛рдиреАрдп CA рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдФрд░ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди http: // рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ:

$ openssl s_client -quiet -connect localhost:8082                                              
depth=1 CN = Local CA home.lan
verify return:1
depth=0 CN = localhost
verify return:1
^C
$ http -v https://localhost:8082/                                                              

http: error: SSLError: HTTPSConnectionPool(host='localhost', port=8082): Max retries exceeded with url: / (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'ssl3_get_server_certificate', 'certificate verify failed')],)",),)) while doing GET request to URL: https://localhost:8082/

рдХреНрдпрд╛ рдореБрдЭреЗ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЕрджреНрдпрддрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

@ рдкреЛрд╡рд░рдореИрди рдЙрди рдкреИрдХреЗрдЬреЛрдВ рдХреЗ

@ sigmavirus24 рд╡рд╣ рдХреНрдпреЛрдВ рд╣реИ? рдореЗрд░рд╛ рдкреНрд░рд╢реНрди рд╣реИ рдХрд┐ рдпреЗ рдЕрдиреБрд░реЛрдз / httpie рд╕рдВрд╕реНрдХрд░рдг рд╕рд┐рд╕реНрдЯрдо CA рд╕реВрдЪреА рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред рдпрджрд┐ рд╣рд╛рдБ, рддреЛ рд╢рд╛рдпрдж рдореЗрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХреБрдЫ рдЧрд▓рдд рд╣реИ рдпрд╛ рдХреЛрдИ рдмрдЧ рд╣реИред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдореБрдЭреЗ рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

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

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

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд┐рдХреНрд╕ рдкрд░ рдЙрд╕реА рдореБрджреНрджреЗ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

4+ рд╕рд╛рд▓ рдмрд╛рдж ...

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