Requests: рдкрд╛рдпрдерди 3.5 рдХреЗ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 25 рдЬрдире░ 2015  ┬╖  42рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: psf/requests

рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рд╕рд░рд▓ рд░рдЦреВрдВрдЧрд╛...

рдХреНрдпрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд╛рдпрдерди рд╕рдореБрджрд╛рдп, рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рд▓рд╛рднрд╛рдиреНрд╡рд┐рдд рд╣реЛрдЧрд╛?

рд╡рд┐рд╖рдп рдкрд░ рдЖрдкрдХреЗ рд╡рд┐рдЪрд╛рд░ рдФрд░ рд░рд╛рдп рд╕реБрдирдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛!

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

рдЦреИрд░, рдореИрдВ рдЗрд╕ рдмрд╣рд╕ рдХреЛ рдЫреЛрдбрд╝ рд░рд╣рд╛ рд╣реВрдБред рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░ рд╕реНрдкрд╖реНрдЯ рдХрд░ рджрд┐рдП рд╣реИрдВред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрддрд┐рдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

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

рд╣рд╛рдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рддреНрдпрд╛рдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рд╣рд╛рдВред

  • рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдиреЗ рдФрд░ рдмрдврд╝рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкрд░ рдЗрд╕рдХрд╛ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдкреНрд░рднрд╛рд╡ рдкрдбрд╝реЗрдЧрд╛?
  • рдХреНрдпрд╛ рдЕрдиреБрд░реЛрдз 'рд░рд┐рд▓реАрдЬ рдЖрд╡реГрддреНрддрд┐ рдкрд╛рдЗрдерди рдХреЗ рд╕рд╛рде рд░рд╣рддреА рд╣реИ? рдпрд╣рд╛рдВ рдПрдХ рдмрдбрд╝рд╛ рдЕрдВрддрд░ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдВрдХреЗрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП stdlib рд╕рд╣реА рдШрд░ рдирд╣реАрдВ рд╣реИред

рдЖрдЗрдП рдХреБрдЫ рдРрд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЛ CC рдХрд░реЗрдВ рдЬрд┐рдирдХреА рд░рд╛рдп рдХрд╛ рд╣рдо рдмрд╣реБрдд рдзреНрдпрд╛рди рд░рдЦрддреЗ рд╣реИрдВ:

@shazow @kevinburke @dstufft @alex @sigmavirus24

"рдорд╛рдирдХ lib рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рдЪреАрдЬреЗрдВ рдорд░ рдЬрд╛рддреА рд╣реИрдВ" рдХрд╛ рдХреНрдпрд╛ рд╣реБрдЖ?

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

рдореЗрд░реА 2 $CURRENCY рдХреА рдХреАрдордд рд╣реИ:

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

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

рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рд╣реЛрдиреЗ рд╕реЗ рд╣рдореЗрдВ рдорд┐рд▓рддреА рд╣реИ, рд╡рд╣ рд╣реИ рд╣рдорд╛рд░рд╛ рд╕рдордп рд╡рд╛рдкрд╕ред рдЗрд╕реЗ рд╡рд╣рд╛рдВ рд░рдЦрдиреЗ рдХрд╛ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рд╣реИ, рдЕрдЧрд░ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдореЗрдВ рдпрд╣ рджрд┐рдЦрд╛рд╡рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрд╣ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдпрд╛ рдкрд╛рдпрдерди рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЛ рдФрд░ рдмреЗрд╣рддрд░ рдмрдирд╛ рджреЗрдЧрд╛ред

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

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИред рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛ рджреЗрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкрд╛рдЗрдк рдкрд░ рдореЗрд░реЗ рдХрд╛рдо рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдореВрд▓ рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдмрдирд╛рдирд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ stdlib рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдЕрдиреБрд░реЛрдз рдЬреИрд╕реА рдЪреАрдЬреЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдЗрд╕рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдпрд╣ рдХреБрдЫ рд╣рдж рддрдХ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ рдХрд┐ рдкрд╛рдЗрдерди stdlib рдореЗрдВ HTTP рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред urllib рдФрд░ urllib2 рдХрд╛ рдПрдХреАрдХрд░рдг Python stdlib рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫреА рдмрд╛рдд рдереА рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ urllib.request рдФрд░ "request" рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред рдЕрдВрдд рдореЗрдВ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдИ рд▓реЛрдЧреЛрдВ рдХреА рдорджрдж рдХрд░реЗрдЧрд╛, рдпрд╣ рдХреЗрд╡рд▓ 3.5+ рдореЗрдВ рдЬрд╛рдПрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЬреЛ рдХреЛрдИ рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рдЙрд╕реЗ рдпрд╛ рддреЛ рдЙрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдкреАрдИрдкреАрдЖрдИ рдкрд░ рд╣реИ рдпрд╛ 3.5 рдХреЛ рдЕрдкрдирд╛ рдиреНрдпреВрдирддрдо рд╕рдорд░реНрдерд┐рдд рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдирд╛ рд╣реИ рдЬреЛ рдореИрдВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВред рдЯреА рдерд┐рдВрдХ рдХрд┐рд╕реА рднреА рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдПрдХ рдпрдерд╛рд░реНрдерд╡рд╛рджреА рдмрд╛рдд рд╣реИред

рдЬрдмрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЕрдиреБрд░реЛрдз рд╣реЛрдиреЗ рд╕реЗ рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдорджрдж рдорд┐рд▓реЗрдЧреА, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд╛рдпрдерди рд╕рдореБрджрд╛рдп рдХреА рдорджрдж рдХрд░реЗрдЧрд╛ред рдЕрдиреБрднрд╡реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬрд╛рдирддреЗ рд╣реИрдВ рдФрд░ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред

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

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдкрд╛рдпрдерди рд╡рд┐рддрд░рдг рдЬрд╣рд╛рдЬ рдмрдирд╛рдиреЗ рдХреЗ рдордзреНрдп рдореИрджрд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

рдирд╣реАрдВ рдпрд╣ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдЕрдиреБрд░реЛрдз рдореЗрд░реЗ рд╕рд╛рдордиреЗ рдмрддрд╛рдП рдЧрдП рдХрдИ рдХрд╛рд░рдгреЛрдВ рд╕реЗ stdlib рд╕рдорд╛рд╡реЗрд╢рди рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдХреБрд▓ рдЕрдиреБрдкрдпреБрдХреНрдд рд╣реИред рдЕрдХреЗрд▓реЗ urllib3 рдирд┐рд░реНрднрд░рддрд╛ рдПрдХ рдкреВрд░реНрдг рд╢реЛрд╕реНрдЯреЙрдкрд░ рд╣реИ; рд╣рдо рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рдХрд┐ рдпрд╣ stdlib рдореЗрдВ рдорд░ рдЬрд╛рдПред

рдЬреЛ _рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рд╡рд╣ рд╣реИ рдХреБрдЫ _basic_ рдЬреЛрдбрд╝рдирд╛ рдФрд░ stdlib рдХреЗ рд╡рд░реНрддрдорд╛рди http рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдмрдирд╛рдП рдЧрдП рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд╕рдорд╛рди рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд░рдХреНрдд рдЬрд╛рджреВ рдХрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд┐рдП рдмрд┐рдирд╛ https рдХреЛ рд╕рд░рд▓ рдкреНрд░рд╛рдкреНрдд/рдкреЛрд╕реНрдЯ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдпрд╣ рднреА рдпрд╛рдж рджрд┐рд▓рд╛рдПрдВ рдХрд┐ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдкрд╛рдпрдерди 3 рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ред :) (рдФрд░ рдкрд╛рдпрдерди 3.6 рд╕реЗ рдкрд╣рд▓реЗ рдирд╣реАрдВ)ред

рдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ рдХреЗрдиреЗрде рдмрдирд╛рдП рд░рдЦрдиреЗ рд╕реЗ рдердХ рд░рд╣реЗ рд╣реИрдВ? ;)

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдо рдЗрд╕ рдкреНрд░рд╢реНрди рдкрд░ рдЪрд░реНрдЪрд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдХреЛ рдмрддрд╛рдП рдХрд┐ httplib, urllib, рдФрд░ рджреЛрд╕реНрддреЛрдВ рдХрд╛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред рдкрд╕рдВрдж рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдЕрдиреБрд░реЛрдз рдЬреЛрдбрд╝рдирд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдЙрддреНрддрд░ рд╕реЗ рднреА рдмрджрддрд░ рд╣реИ "рддрд╣ stdlib рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░реЗрдВ, рдмрд╕ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ"ред рдпрд╣ urllib, urllib2 рдХреЗ рджрд┐рдиреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдЧрдорди рд╣реИред

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

рдореИрдВ рдорджрдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП stdlib рдореЗрдВ рдШреВрдореВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рддрдереНрдп рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд┐рддрдиреЗ рдкрд┐рдЫрд▓реЗ рдкреИрдЪрд╕реЗрдЯ рдЬрдорд╛ рдХрд┐рдП рд╣реИрдВ рдФрд░ рдПрдХ рдЕрдиреНрдп _reviewed_ рдореБрдЭреЗ рдЙрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдкрд░реЗрд╢рд╛рди рд╣реЛрдиреЗ рд╕реЗ рд╕рд╛рд╡рдзрд╛рди рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдореБрдЦреНрдп рджреЗрд╡ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЪреАрдЬреЛрдВ рд╕реЗ рдШрд┐рд░реЗ рд╣реБрдП рд╣реИрдВред рдореБрдЭреЗ рдпрд╣ рднреА рдкрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдФрд░ рдиреЗ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рд╡реЗ httplib/http рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рд╡реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдиреМрдХрд░реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИрдВ (рдЕрднреА рддрдХ) рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ httplib рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдзреИрд░реНрдп рдирд╣реАрдВ рд╣реИ рдЬрдм рдкреИрдЪ @ рд▓реБрдХрд╛рд╕рд╛ рдФрд░ рдореИрдВ рджреЛрдиреЛрдВ рдмреИрдарддреЗ рд╣реИрдВ рдЪрд╛рд░реЛрдВ рдУрд░, рдмрд┐рдирд╛ рд╕рдореАрдХреНрд╖рд╛ рдХреА, рдФрд░ рдЗрд╕рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХреА (рдЬрдм рд╡реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдареАрдХ рдХрд░рддреЗ рд╣реИрдВ)ред

рдореИрдВ рд╢рд╛рдпрдж рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдлреЛрд░реНрдХрд┐рдВрдЧ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджреВрдВрдЧрд╛ред

рдЕрдиреБрд░реЛрдз рдореЗрд░реЗ рд╕рд╛рдордиреЗ рдмрддрд╛рдП рдЧрдП рдХрдИ рдХрд╛рд░рдгреЛрдВ рд╕реЗ stdlib рд╕рдорд╛рд╡реЗрд╢рди рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдХреБрд▓ рдЕрдиреБрдкрдпреБрдХреНрдд рд╣реИред рдЕрдХреЗрд▓реЗ urllib3 рдирд┐рд░реНрднрд░рддрд╛ рдПрдХ рдкреВрд░реНрдг рд╢реЛрд╕реНрдЯреЙрдкрд░ рд╣реИ; рд╣рдо рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рдХрд┐ рдпрд╣ stdlib рдореЗрдВ рдорд░ рдЬрд╛рдПред

рдпрд╣ рд╣рдореЗрд╢рд╛ @kennethreitz (рдФрд░ рдЗрд╕рд▓рд┐рдП, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛) рдХрд╛ рд╡рд┐рд╡рд╛рдж рд░рд╣рд╛ рд╣реИ рдХрд┐ urllib3 рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдг рд╣реИред рдХрдИ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕рдмрд╕реЗ рдмрдбрд╝реА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ urllib3 рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛-рдХрдо рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рджреЗрдЦрднрд╛рд▓ рдХреЗ рд╕рд╛рде рдкреБрди: рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХрд┐ рд╣рдореЗрдВ рдпрд╣ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдирд╣реАрдВ, рдореИрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрд╕рдВрдмрджреНрдз рд╣реВрдВред рдЬреЛ рдХреБрдЫ рднреА stdlib рдореЗрдВ рд╣реЛрдЧрд╛ рд╡рд╣ рдХреЗрд╡рд▓ API рдореЗрдВ рдЕрдиреБрд░реЛрдз рд╣реЛрдЧрд╛ред рдкрд╛рдпрдерди 3 рдЧреЛрдж рд▓реЗрдиреЗ рдХреА рджрд░ рдЗрддрдиреА рдзреАрдореА рд╣реИ рдХрд┐ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЕрдЧрд▓реЗ рдПрди рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рд▓реЛрдЧ рдЗрд╕рд╕реЗ рд╕рд╛рд░реНрдердХ рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрдВрдЧреЗ (рдЬрд╣рд╛рдВ рдПрди рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрддрд░ рдкрд░ рдЕрдЬреНрдЮрд╛рдд рд╕рдВрдЦреНрдпрд╛ рд╣реИ 3.5 рдХреЗ рд▓рд┐рдП рдирд┐рдЧрдореЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ)ред

рдФрд░ рдЬреИрд╕рд╛ рдореИрдВрдиреЗ рдХрд╣рд╛, рдореИрдВ рд╢рд╛рдпрдж рдЙрд╕ рдмрд┐рдВрджреБ рдкрд░ рд╕реАрдзреЗ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдпрд╛ urllib3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдкреНрдд рдХрд░ рджреВрдВрдЧрд╛ред

рдореИрдВрдиреЗ рджреВрд╕рд░реЗ рджрд┐рди рдЧреБрдЗрдбреЛ рдХреЗ рд╕рд╛рде рдЗрд╕ рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХреА - рдкрд╣рд▓реЗ рдЪрд╛рд░рдбреЗрдЯ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ urllib3 рдФрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде http рдкреИрдХреЗрдЬ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ @hynek рдФрд░ @dstufft рд╕реЗ рд╕рд╣рдордд рд╣реЛрдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реВрдВред рд╢рд╛рдпрдж рдЕрдиреБрд░реЛрдз рдареАрдХ рд╡реИрд╕реЗ рд╣реА рдареАрдХ рд╣реИ :)

рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ, рдпрджрд┐ рдЖрдкрдХреА рдХреЛрдИ рд░рд╛рдп рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рдпрд╣рд╛рдВ (рдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрднреА рднреА) рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред

:рдЪрдордХ: :рдХреЗрдХ: :рдЪрдордХ:

рд╕рд╛рде рд╣реА, рдмрд┐рдирд╛ рдХрд┐рд╕реА рдПрд╕рд┐рдВрдХреНрд╕рд┐рдпреЛ-рд╕реНрдЯреЛрд░реА рдХреЗ stdlib рдореЗрдВ рдПрдХ рдирдпрд╛ http рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд╝рдирд╛ рд▓рдЧрддрд╛ рд╣реИ
рдореЗрд░реЗ рд▓рд┐рдП рдмреЛрдирдХрд░реНрд╕ред

рд╕рди 25 рдЬрдирд╡рд░реА 2015 рдХреЛ рджреЛрдкрд╣рд░ 1:15:51 рдмрдЬреЗ рдХреЗрдиреЗрде рд░реАрдЯреНрдЬрд╝ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

рдХрд┐рд╕реА рднреА рддрд░рд╣, рдЕрдЧрд░ рдЖрдкрдХреА рдХреЛрдИ рд░рд╛рдп рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╣реИрдВ
рдЗрд╕реЗ рдпрд╣рд╛рдВ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ (рдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрднреА рднреА)ред

[рдЫрд╡рд┐:: рдЪрдордХ:] [рдЫрд╡рд┐::рдХреЗрдХ:] [рдЫрд╡рд┐::рдЪрдордХ:]

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/kennethreitz/requests/issues/2424#issuecomment -71384152
.

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдо рдЗрд╕ рдкреНрд░рд╢реНрди рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдХреЛ рдмрддрд╛рдП рдХрд┐ httplib, urllib, рдФрд░ рджреЛрд╕реНрддреЛрдВ рдХрд╛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ

рдпрд╣ рдореЗрд░рд╛ рдореБрджреНрджрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореМрдЬреВрджрд╛ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕реНрдерд┐рддрд┐ рдХреЛ рдкрд╣рд▓реЗ рд╕реБрд▓рдЭрд╛рдирд╛ рд╣реЛрдЧрд╛ред

:+1: :рдзрд╛рддреБ:

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

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

urllib3 рдХрд╛ рдПрдкреАрдЖрдИ рдХрдИ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЕрдзрд┐рдХрддрд░ рд╕реНрдерд┐рд░ рдФрд░ рдХрд╛рдлреА рдкреАрдЫреЗ рдХреА рдУрд░ рд╕рдВрдЧрдд рд░рд╣рд╛ рд╣реИред рдЗрд╕рдХреА рдЧрддрд┐ рд╕рдВрднрд╡рддрдГ рдЖрдЬ рдХреЗ stdlib рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рднреА рдзреАрдореА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрд░рд┐рд╡рд░реНрддрди рдорд╛рдореВрд▓реА рд╕реБрдзрд╛рд░ рдпрд╛ рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдзрд╛рд░ рд╣реИрдВ (рдХрднреА-рдХрднреА рдкреАрдЫреЗ рдХреА рдУрд░-рд╕рдВрдЧрдд рд╕реБрд╡рд┐рдзрд╛ рдкрд░рд┐рд╡рд░реНрдзрди рдЬреИрд╕реЗ рджрд╛рдиреЗрджрд╛рд░ рдЯрд╛рдЗрдордЖрдЙрдЯ/рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕ рдХреЗ рд╕рд╛рде)ред рдЕрдЧрд░ рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ urllib3 рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдПрдХ рднрдпрд╛рдирдХ рд╡рд┐рдЪрд╛рд░ рд╣реИ-рдпрд╣ рд╕рд┐рд░реНрдл _best_ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИред

(рдореИрдВ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдмреЛрд▓ рд░рд╣рд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ urllib3 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдЕрд▓рдЧ рдЧрддрд┐ рд╕реЗ рдЪрд▓рддрд╛ рд╣реИред)

рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдкреАрдПрд╕рдПрдл рдХреЗ рд▓рд┐рдП 1-3 рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдХрд┐рд░рд╛рдП рдкрд░ рд▓реЗрдирд╛ рд╣реЛрдЧрд╛ (рдпрд╛ рд╢рд╛рдпрдж рдХрд┐рдХрд╕реНрдЯрд╛рд░реНрдЯ рдпрд╛ рдХреБрдЫ рдФрд░) urllib3 рд╕реЗ рднрд╛рд░реА рдкреНрд░реЗрд░рдгрд╛ рдХреЗ рд╕рд╛рде HTTP / 2 рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде asyncio рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рдирдпрд╛ http рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдиреБрд░реЛрдз , рдФрд░ рд╣рд╛рдЗрдкрд░ред рдореБрдЭреЗ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рд╢рдмреНрджрд╢рдГ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдб рджреЗрдЦрдХрд░ рдЦреБрд╢реА рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдПрдХ рд╕реБрд╕рдВрдЧрдд, рдореЙрдбреНрдпреВрд▓рд░ рдФрд░ рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рддрд░реАрдХреЗ рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдкрд╛рдпрдерди 4 рдпрд╛ рдХреБрдЫ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░реЗрдВ, рдФрд░ рд╕рднреА urllibs рдФрд░ httplibs рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдПрдВред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдХрдбрд╝реА рдореЗрд╣рдирдд рдХрд╛ 6-9mo рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рд╕рдВрднрд╡рддрдГ рдЕрдзрд┐рдХред

urllib3 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╣рд┐рд╕реНрд╕рд╛, рдЬрд┐рд╕реЗ рдореИрдВ рдмрджрд▓рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ рдпрджрд┐ рдХреЛрдИ рдЗрд╕реЗ @ sigmavirus24 рдХреЗ рд╕реБрдЭрд╛рд╡ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ httplib рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред urllib3 рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛рдлреА рд╣рдж рддрдХ httplib рдХреА рдХрдорд┐рдпреЛрдВ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдЦрд░реНрдЪ рдХрд┐рдП рдЧрдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреЛрдб рдХреЗ рд╕рд╛рде рд╕реАрдорд┐рдд рд╣реИред рдпрджреНрдпрдкрд┐ рдпрджрд┐ рдЗрд╕ рд▓рдХреНрд╖реНрдп рдореЗрдВ HTTP/2 рд╕рдорд░реНрдерди рдХреЛ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рддреЛ HTTP/1.1 рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рджрд╛рдпрд░рд╛ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдп рдХрд╛ рдПрдХ рдмрд╣реБрдд рд╣реА рдЖрд░рд╛рдорджрд╛рдпрдХ рдЕрдВрд╢ рд╣реЛрдЧрд╛ред

рдХрдИ PyCons рдкрд╣рд▓реЗ, рд╣рдо рдореЗрдВ рд╕реЗ рдПрдХ рдиреЗ рдореБрд▓рд╛рдХрд╛рдд рдХреА рдФрд░ рдПрдХ рдмрд┐рд▓реНрдХреБрд▓ рдирдИ http рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдПрдХ рд▓реЗрдЖрдЙрдЯ рдХреЛ рд╡реНрд╣рд╛рдЗрдЯрдмреЛрд░реНрдб рдХрд┐рдпрд╛, рдЬреЛ рдЙрд╕ рд╕рдордп рдХреА рдХрд▓реНрдкрдирд╛ рдХреА рдЧрдИ рдЖрджрд░реНрд╢ рд╡реНрдпрд╡рд╕реНрдерд╛ рдореЗрдВ рд╕рднреА рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рд░рд┐рдлреИрдХреНрдЯрд░ рдХрд░рддрд╛ рд╣реИред рдЕрдЧрд░ рдХреЛрдИ рдЗрд╕реЗ рдЖрдЬрдорд╛рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рддреЛ рдореБрдЭреЗ рдЗрди рдиреЛрдЯреЛрдВ рдХреЛ рдЦреЛрджрдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред

+1 @shazow

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

рд╣рд╛рдВ рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рд╣реА рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдХрднреА рднреА рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреВрдВрдЧрд╛ рдпрджрд┐ рдпрд╣ stdlib рдореЗрдВ рд╣реИред

рдЙрд╕ рдиреЗ рдХрд╣рд╛, urllib3 рдореЗрдВ рд╡реЗ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рд▓реЛрдЧ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП stdlib рдореЗрдВ рд╣реЛрдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ

рдХреНрдпрд╛ рдЖрдк рдХрд┐рд╕реА рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ?

@dstufft рдпрд╣ рдЙрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╣реИ рдЬреЛ рдЖрдо рддреМрд░ рдкрд░ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ, рдЬрд╣рд╛рдВ рд╣рд░ рдХрд┐рд╕реА рдХреЛ urllib рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред (рдЖрдорддреМрд░ рдкрд░ рд▓реЛрдЧ рдЗрд╕реЗ рдПрд╕рдПрд╕рдПрд▓/рдЖрджрд┐ рдХреЗ рдХрд╛рд░рдг рдПрдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рдЬреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрд▓рд╕реНрдп рд╕реЗ рдмрд╛рд╣рд░)

@dstufft рднреА рдмрд╣реБ-рд╕рдВрд╕реНрдХрд░рдг

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

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

рдпрджрд┐ рдЖрдк stdlib рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ рддреЛ API рд╕реНрдерд┐рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

@dcramer рдПрдкреАрдЖрдИ 1.0 рдореЗрдВ рдареАрдХ рдПрдХ рдмрд╛рд░ рдЯреВрдЯ рдЧрдпрд╛ред рдПрдкреАрдЖрдИ рдмрджрд▓рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдиреБрд░реЛрдз 'рдПрдкреАрдЖрдИ рдХрд┐рд╕реА рднреА рдмрджрд▓рд╛рд╡ рдХреА рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рдмрдирд╛ рд░рд╣рд╛ рд╣реИред рд╣рдордиреЗ рдЬреЛ рдПрдХрдорд╛рддреНрд░ рдмрджрд▓рд╛рд╡ рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ json рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдХреБрдЫ рднреА рдирд╣реАрдВ рддреЛрдбрд╝рддрд╛ рд╣реИред рдЖрдк рд╣рдо рдкрд░ рдПрдкреАрдЖрдИ рдХреЛ рддреЛрдбрд╝рдиреЗ рдХрд╛ рдЖрд░реЛрдк рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬрдм рдУрдкрдирд╕реНрдЯреИрдХ рдЬреИрд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд▓рдВрдмреЗ рд╕рдордп рддрдХ >=1.2.3 рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рдХрд╣рддрд╛ рд╣реИред рдПрдкреАрдЖрдИ рд╕реНрдерд┐рд░ рд░рд╣рд╛ рд╣реИ, рдареАрдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ 1.0 рдореЗрдВ рдХрдЯреМрддреА рдХреЗ рдмрд╛рдж рд╣рдордиреЗ рдПрдкреАрдЖрдИ рдореЗрдВ рд╕рднреА рдирдП рдкрд░рд┐рд╡рд░реНрдзрди рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рд╣реИ ( json рдкрд░рдо рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд╕реНрдкрд╖реНрдЯ рд╣рд╛рд▓рд┐рдпрд╛ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде) рдФрд░ рд╣рдо рдПрдкреАрдЖрдИ рдХреЛ рдирд╣реАрдВ рддреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдЦреНрдд рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдЙрдкрднреЛрдХреНрддрд╛ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдпрд╣ рдирд╣реАрдВ рдкрддрд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЖрдкрдХреА рдЕрдЬреНрдЮрд╛рдирддрд╛ рдХреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдирд╣реАрдВ рд▓реЗрддрд╛ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдЧрд░ stdlib API рдХреЛ рдЗрддрдирд╛ рд╕реНрдерд┐рд░ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рдордЭрд╛рдПрдВ рдХрд┐ рдХреНрдпреЛрдВ argparse рдиреЗ Python 3.3 рдФрд░ 3.4 рдХреЗ рдмреАрдЪ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ API рдХреЛ рддреЛрдбрд╝рд╛?

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

рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдкрд╛рдпрдерди рдЕрдкрдиреЗ рдПрдкреАрдЖрдИ рдХреЛ рднреА рдмрджрд▓рддрд╛ рд╣реИ, рдЕрдХреНрд╕рд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХрднреА-рдХрднреА рдмрд╣реБрдд рдкреНрд░рдореБрдЦ рддрд░реАрдХреЛрдВ рд╕реЗ, рд╢рд╛рдпрдж рдЖрдкрдиреЗ рдкрд╛рдпрдерди 3 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд╛ рд╣реИ?

рдЦреИрд░, рдореИрдВ рдЗрд╕ рдмрд╣рд╕ рдХреЛ рдЫреЛрдбрд╝ рд░рд╣рд╛ рд╣реВрдБред рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░ рд╕реНрдкрд╖реНрдЯ рдХрд░ рджрд┐рдП рд╣реИрдВред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрддрд┐рдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рд╢реНрди рд╣реИрдВ:

  1. рдЖрдк рдорд╛рдирдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг (рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╕рд╣рд┐рдд) рдХреЛ рдХреИрд╕реЗ рдмрджрд▓рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ? рд╡рд░реНрддрдорд╛рди рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп HTTP рдПрдкреАрдЖрдИ рдПрдХ рдРрд╕реЗ рдпреБрдЧ рд╕реЗ рджрд┐рдирд╛рдВрдХрд┐рдд рд╣реИ рдЬрд╣рд╛рдВ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ (рдЬреИрд╕реЗ рдПрдлрд╝рдЯреАрдкреА рдмрдирд╛рдо рдПрдЪрдЯреАрдЯреАрдкреА) рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЛ рджреВрд░ рдХрд░рдирд╛ рдПрдХ рд╡рд╛рдВрдЫрдиреАрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛ред рдмрд╛рдж рдХреЗ рдбреЗрдврд╝ рджрд╢рдХ рдореЗрдВ, рд╡реЗрдм рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХрдореНрдпреБрдирд┐рдЯреА рдиреЗ HTTPS+JSON рдХреЛ рд░рд┐рдореЛрдЯ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрди (рдЬреЛ SSH рдпрд╛ Windows RCP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ) рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз/рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╢реИрд▓реА рдХреНрд▓рд╛рдЗрдВрдЯ/рд╕рд░реНрд╡рд░ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдкрд╕рдВрджреАрджрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдФрд░ рдЕрдиреБрд░реЛрдз рдПрдкреАрдЖрдИ рдЖрдзреБрдирд┐рдХ рдкрд╛рдпрдерди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрд╕ рдореЙрдбрд▓ рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рдирдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред
  2. рдХреНрдпрд╛ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЕрдиреБрд░реЛрдз API рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рдирдХ рд╕реЗ рдПрдХ рдХрд╛рдиреВрдиреА рдорд╛рдирдХ рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рднреА CPython рдкреБрдирд░реНрд╡рд┐рддрд░рдг рдЪреИрдирд▓реЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, CPython (рдФрд░ рд╣рдорд╛рд░реЗ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдкреБрдирд░реНрд╡рд┐рддрд░рдгрдХрд░реНрддрд╛рдУрдВ) рджреНрд╡рд╛рд░рд╛ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд╕рдорд░реНрдерди рдЧрд╛рд░рдВрдЯреА рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕рдорд░реНрдерд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд╕рднреА "рдХреЗрд╡рд▓ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп" рд╢реИрдХреНрд╖рд┐рдХ рдЧрддрд┐рд╡рд┐рдзрд┐рдпрд╛рдБ? (рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдЕрднреА рднреА рдмрд╣реБрдд рдЖрдо рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдирджрдВрдб рдореЗрдВ рдЕрдХреНрд╕рд░ рд╕рдорд░реНрдерди рдФрд░ рдЖрдИрдкреА рдЧрд╛рд░рдВрдЯреА рд╢рд╛рдорд┐рд▓ рд╣реЛрддреА рд╣реИ, рдЬреЛ рд╕реАрдкреАрдереЙрди рдХреЗ рдкрд╛рд╕ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдиреБрд░реЛрдз рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЗ рддрд╣рдд, рдХрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗрд╡рд▓ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рдорд╛рдиреЗрдВрдЧреЗ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдорд╛рдиреНрдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЙрдирдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХрд╛рдо рд╣реИ)
  3. рдПрдкреАрдЖрдИ рдЬреИрд╕реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЕрдиреНрдп рдХреМрди рд╕реЗ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?
  4. рдХреНрдпрд╛ рдПрдкреАрдЖрдИ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг-рд╕реНрд╡рддрдВрддреНрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рдЦрдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛, рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдПрдХ рдирдпрд╛ рдЕрдиреБрд░реЛрдз рдкреНрд░реЗрд░рд┐рдд рдПрдкреАрдЖрдИ рдЬреЛрдбрд╝реЗрдВ, рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЧреБрдЗрдбреЛ рдиреЗ рдПрдпрдирд┐рдпреЛ рдорд╛рдирдХреАрдХрд░рдг рдХрд╛рд░реНрдп рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд┐рдпрд╛ рдерд╛?

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

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

рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рде, рд╣рдореЗрдВ рдЖрдо рддреМрд░ рдкрд░ рд╡рд╣ рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ - рдЬрдмрдХрд┐ рдкреБрдирд░реНрд╡рд┐рддрд░рдгрдХрд░реНрддрд╛ рдХрднреА-рдХрднреА рдЪреАрдЬреЛрдВ рдХреЛ рддреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ, рдПрдХ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рд╕рдВрджрд░реНрдн рдореЗрдВ, рд╡рд┐рдХреНрд░реЗрддрд╛ рдЬреЛ рд╕рд╛рдорд╛рди рддреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЬреЛ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдЖрдкрддреНрддрд┐рдЬрдирдХ рд╡рд┐рдХреНрд░реЗрддрд╛ рдХреЛ рдЪреАрдЬреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд▓рд╛рдн рджреЗрддрд╛ рд╣реИред

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

рдХреНрдпрд╛ рдЖрдк рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рддреИрдпрд╛рд░ рд╣реИрдВ, рдЬрдмрдХрд┐ рдЧреИрд░-рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реЗрд╡рд╛рдУрдВ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧ рдЬрд╣рд╛рдВ рдмрд╣реБрдд рдХрдо рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рд╕реНрддрд░ (рдЕрдХреНрд╕рд░ 99% рд╕реЗ рдХрдо рдЕрдкрдЯрд╛рдЗрдо) рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИрдВ, рд╢рд┐рдХрд╛рдпрдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдЧрд╣рди рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреЗ рдореБрджреНрджреЗ рдЕрдиреБрдЪрд┐рдд рд╣реИрдВ, рдФрд░ рдХреЗрд╡рд▓ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рдЫрд┐рдкреА рд░рд╛рдЬрдиреАрддрд┐ рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИред рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдЧрд▓рдд рдзрд╛рд░рдгрд╛ рдЬрд┐рд╕реЗ рдореИрдВ рд╕рд╣реА рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ: рдкрд╛рдЗрдерди рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд╡рд┐рд╢рд╛рд▓ рдмрд╣реБрдордд рдиреЗ рд╢рд╛рдпрдж рдкрд╛рдЗрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдирд╣реАрдВ рд╕реБрдирд╛ рд╣реЛрдЧрд╛, рдЕрдХреЗрд▓реЗ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВред рдпреЗ рд╡реЗ рд▓реЛрдЧ рд╣реИрдВ рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ рдкрд╛рдпрдерди рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╕рдорд░реНрдерди рд▓рд┐рдирдХреНрд╕ рд░рд┐рд▓реАрдЬ рдкрд░, рдЕрдзрд┐рдХрд╛рдВрд╢ рдУрдкрди рд╕реЛрд░реНрд╕ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдЕрд╡рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреНрд╡рд░рд┐рдд рд╣реИрдВ, рдмрд┐рдирд╛ рдЗрд╕ рдмрд╛рдд рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдП рдХрд┐ рдЙрдирдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреМрди рд╕реА рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рдЦреЗрд▓ рдореЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред

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

рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдЕрдкрдирд╛рдиреЗ рдХреА рдЕрд╡рд╕реНрдерд╛ рдХрд╛ рд╡рд╣ рдкреЛрд╕реНрдЯ-рдЦрд╛рд╕ рд╣рд┐рд╕реНрд╕рд╛ рд╡реЗ рд╣реИрдВ рдЬреЛ рд╣рдо рддрдм рдкрд╣реБрдВрдЪрддреЗ рд╣реИрдВ рдЬрдм рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ "рд╣рд╛рдВ, рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрдм рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдкрд░рд┐рдкрдХреНрд╡ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕реЗ, рдпрд╛ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЗрд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдХреНрдХрд╛ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рдХрд▓реНрдкрдирд╛"ред

"рдУрдкрди рд╕реЛрд░реНрд╕ рдХрдореНрдпреБрдирд┐рдЯреА" рдлрд┐рд▓реНрдЯрд░ рдмрдмрд▓ рдХреИрд╕реЗ рд╣рдорд╛рд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рддрд┐рд░рдЫрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдЕрдзрд┐рдХ рдареЛрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ: рдЬреЗрдирдХрд┐рдВрд╕ рдХреЗ рдкрд╛рд╕ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рд╕реАрдЖрдИ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдореЗрдВ 70% рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рдЬрд╛рд░ рд╣рд┐рд╕реНрд╕реЗрджрд╛рд░реА рд╣реИред

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

@dcramer
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрддрд┐рдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдЗрд╕ рдмрд╣рд╕ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреБрдХреНрдд рднрд╛рд╖рд╛ред рдЬрдм рдЖрдкрдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рд╡реИрдз рдХрд╛рдЙрдВрдЯрд░ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдорд╣рд┐рд▓рд╛рдУрдВ рдХреЛ рдиреАрдЪрд╛ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЧрд╛рд▓реА рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рд▓рд┐рдП рдкрд╛рд░ред рдЖрдЧреЗ рдмрдврд╝рддреЗ рд░рд╣рдирд╛,


@ncoghlan

рдкреБрди: рдмрд┐рдВрджреБ рез: рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рд▓реЗрдЦрди рдХреЛ stdlib рдореЗрдВ рдЕрдиреБрд░реЛрдзреЛрдВ (рдЕрдиреБрд░реЛрдзреЛрдВ-рд╕рдорд╛рди) рдХреЗ рд╕рд╛рде рдХрд╛рдлреА рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдПрдХ рдирдИ рднрд╛рд╖рд╛ рд╕реАрдЦрддреЗ рд╕рдордп рдореИрдВ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реВрдВ рдХрд┐ HTTP рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЙрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рд╣реЛрдирд╛ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдЧрд╛рдЗрдб рдХреЛ рд▓рд╛рдн рд╣реЛрдЧрд╛ред

рдкреБрди: рдмрд┐рдВрджреБ 2: рдПрдкреАрдЖрдИ рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдмреАрдЪ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмрдирд╛рдо рдХрд╛рдиреВрдиреА рд░реВрдк рд╕реЗ рдЕрдВрддрд░ рд╣реИред рдПрдкреАрдЖрдИ рдЖрд╕рд╛рдиреА рд╕реЗ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд░реНрдерди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдХреА рдЪрд┐рдВрддрд╛ рдЕрдиреБрд░реЛрдзреЛрдВ (рдХреЛрдб) рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд▓рдХреНрд╖рд┐рдд рд╣реЛрдЧреАред

рдкреБрди рдЕрдВрдХ рей рдФрд░ рек: рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣рд╛рдБ рдХреБрдЫ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдиреА рд╣реИред рд╢рд╛рдпрдж рдЕрдЬрдЧрд░-рд╡рд┐рдЪрд╛рд░ рдмреЗрд╣рддрд░ рд╣реЛрдВрдЧреЗред

рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдкреАрдПрд╕рдПрдл рдкреНрд░рдмрдВрдзрд┐рдд рд╡рд┐рдХрд╛рд╕ рдХрд╛рд░реНрдп рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреА рдмрд╛рдд рд╣реИ, рддреЛ рдореИрдВ рдЗрд╕рдХреЗ рд╕рдЦреНрдд рдЦрд┐рд▓рд╛рдл рд░рд╣реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕ рддрд░рд╣ рдХреА рдЪреАрдЬреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдмрдВрдзрди рдХрд╛ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛ рдирд╣реАрдВ рд╣реИред

рдпрд╣ рддреЛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдерд╛ рдХрд┐ рдпрд╣ рдПрдХ рд╕рдВрднрд╛рд╡рдирд╛ рдереА рд▓реЗрдХрд┐рди http (lib) рд╕реЗ рдХреБрдЫ рдмреЗрд╣рддрд░ рд╣реЛрдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рде, рд╣рдореЗрдВ рдЖрдо рддреМрд░ рдкрд░ рд╡рд╣ рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ - рдЬрдмрдХрд┐ рдкреБрдирд░реНрд╡рд┐рддрд░рдгрдХрд░реНрддрд╛ рдХрднреА-рдХрднреА рдЪреАрдЬреЛрдВ рдХреЛ рддреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ, рдПрдХ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рд╕рдВрджрд░реНрдн рдореЗрдВ, рд╡рд┐рдХреНрд░реЗрддрд╛ рдЬреЛ рд╕рд╛рдорд╛рди рддреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЬреЛ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдЖрдкрддреНрддрд┐рдЬрдирдХ рд╡рд┐рдХреНрд░реЗрддрд╛ рдХреЛ рдЪреАрдЬреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд▓рд╛рдн рджреЗрддрд╛ рд╣реИред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕ рдЙрддреНрддреЛрд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореИрдВрдиреЗ рд╕реАрдкреАрдереЙрди рдореЗрдВ рдбреЗрдмрд┐рдпрди рдФрд░ рдЕрдиреНрдп рдкреБрдирд░реНрд╡рд┐рддрд░рдгрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рддреЛрдбрд╝реА рдЧрдИ рд╕реБрдирд┐рд╢реНрдЪрд┐рддрдкрд╛рдЗрдк, рд╡реЗрдирд╡ рдФрд░ рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЛ рджреЗрдЦрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЗрд╕ рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд░реНрд╢рд░реЗрдЦрд╛ рд╣реИред

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

рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рде рдЬрд╛рд░реА рдирд╣реАрдВ рд░рдЦреЗрдВрдЧреЗред рдореИрдВ рд╢рд╛рдпрдж рдЕрдХреЗрд▓рд╛ рд╡реНрдпрдХреНрддрд┐ рд╣реЛрддрд╛ рд▓реЗрдХрд┐рди рдЕрдкрд╕реНрдЯреНрд░реАрдо рд╕реАрдкреАрдереЙрди рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рдЯреНрд░реИрдХ рд░рд┐рдХреЙрд░реНрдб рджрд┐рдпрд╛, рдпрд╣ рдЙрд╕ рдмреЛрдЭ рдХреЛ рдореМрдЬреВрджрд╛ (рдФрд░ рдЕрдиреНрдп рднрд╡рд┐рд╖реНрдп) рдХреЛрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдкрд░ рдЫреЛрдбрд╝рдХрд░ рдЙрддреНрдкрд╛рджрдХ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдЕрдкрдирд╛рдиреЗ рдХреА рдЕрд╡рд╕реНрдерд╛ рдХрд╛ рд╡рд╣ рдкреЛрд╕реНрдЯ-рдЦрд╛рд╕ рд╣рд┐рд╕реНрд╕рд╛ рд╡реЗ рд╣реИрдВ рдЬреЛ рд╣рдо рддрдм рдкрд╣реБрдВрдЪрддреЗ рд╣реИрдВ рдЬрдм рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ "рд╣рд╛рдВ, рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрдм рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдкрд░рд┐рдкрдХреНрд╡ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕реЗ, рдпрд╛ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЗрд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдХреНрдХрд╛ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рдХрд▓реНрдкрдирд╛"ред

рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗ рд▓реЛрдЧ рдХрднреА рдирд╣реАрдВ рдкрдХрдбрд╝реЗрдВрдЧреЗ, рдирд╣реАрдВ? рд▓реЛрдЧ рдЕрднреА рднреА Python 2.4 рдФрд░ 2.5 рдкрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВред F5 рдХреЗ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдЕрднреА рднреА рдХреЗрд╡рд▓ рдкрд╛рдпрдерди 2.5 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред 2.7 рд╢рд╛рдпрдж рдореЗрд░реЗ рдкреНрд░рд╛рдХреГрддрд┐рдХ рдЬреАрд╡рди рдХреЗ рдЕрдВрдд рддрдХ рдЙрдкрдпреЛрдЧ рдореЗрдВ рд░рд╣реЗрдЧрд╛ (рдЬреЛ рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдлреА рд▓рдВрдмрд╛ рд╣реЛрдЧрд╛)ред рдХреНрдпрд╛ рд╡рд╛рдХрдИ рдпреЗ рд▓реЛрдЧ рд╣реИрдВ рдЬреЛ рдЗрд╕ рдлреИрд╕рд▓реЗ рд╕реЗ рд╕рдмрд╕реЗ рдЬреНрдпрд╛рджрд╛ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрдВрдЧреЗ? рд╡рд╣реА рд▓реЛрдЧ рдЬрд┐рдирдХрд╛ рдЖрдк рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рдХрднреА рднреА Python 3 рдореЗрдВ рдЫрд▓рд╛рдВрдЧ рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдпрд╣ рдЕрднреА рднреА рдПрдХ _leap_ рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рддрдХ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рддрдм рддрдХ рдкрд╛рдпрдерди 3.8 рдпрд╛ 3.9 рдпрд╛ 4.2 рдмрд╛рд╣рд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЙрдирдХреЗ рд▓рд┐рдП рдкрд░реЗрд╢рд╛рдиреА рд╕реЗ рдмрд╣реБрдд рдХрдо рд╣реЛрдЧрд╛ред

рдареАрдХ рд╣реИ, рдореЗрд░рд╛ рдореБрдЦреНрдп рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕рдорд╛рд╡реЗрд╢рди рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЕрдиреНрдп рдУрдкрди рд╕реЛрд░реНрд╕ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдп рд╕реЗ рдЕрд▓рдЧ рд╣реИред рдпрджрд┐ рдЕрдиреБрд░реЛрдз рдЯреАрдо рдХреЗрд╡рд▓ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЕрдиреБрд░рдХреНрд╖рд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЪреБрдирддреА рд╣реИ (рдПрдХ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд╕реЗрд╡рд╛ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдореИрдВ рдмрд╣реБрдд рдЖрднрд╛рд░реА рд╣реВрдВ, рдЖрдк рд▓реЛрдЧ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ!), рдФрд░ рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдирдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдзрдХреНрдХрд╛ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рднрд░реЛрд╕рд╛ рдХрд░реЗрдВрдЧреЗ рдЖрд░рдПрдЪрдИрдПрд▓/рдлреЗрдбреЛрд░рд╛/рд╕реЗрдВрдЯреЛрд╕, рдбреЗрдмрд┐рдпрди/рдЙрдмрдВрдЯреВ, рдПрдХреНрдЯрд┐рд╡рд╕реНрдЯреЗрдЯ, рдПрдирдереЙрдЯ рдФрд░ рдХреЙрдиреНрдЯрд┐рдирдо рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕ рдЬреИрд╕реЗ рдкреБрдирд░реНрд╡рд┐рддрд░рдгрдХрд░реНрддрд╛рдУрдВ рдкрд░ рдореЙрдбреНрдпреВрд▓ рд▓реЗрдиреЗ рдФрд░ рдЗрд╕реЗ _anyway_ рдкрд░ рдорд╛рдирдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬреИрд╕реЗ рдХрд┐ рд▓реЛрдЧ рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╣рдореЗрд╢рд╛ рдЙрдкрд▓рдмреНрдз рд░рд╣реЗрдЧрд╛ (рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдЕрдХреНрд╕рд░ рдЙрдирдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛) рдПрдХрд▓ рдлрд╝рд╛рдЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдПрдкреАрдЖрдИ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реБрдП рдЦреБрд╢ рд╣реИрдВ рдЬреЛ рдЙрдкрдпреБрдХреНрдд рдирд┐рд░реНрднрд░рддрд╛ рдШреЛрд╖рдгрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреИрдХ рдирд╣реАрдВ рд╣реИрдВ)ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрд░рд┐рдЪрдпрд╛рддреНрдордХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдЕрднреА рднреА рд▓реЛрдЧреЛрдВ рдХреЛ HTTP рдХреЛ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рддрд░реАрдХреЗ рд╕реЗ рдХрд░рдиреЗ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝рд╛рдПрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рд▓реЛрдЧреЛрдВ рдХреЛ "рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП HTTP, 2001 рд╕рдВрд╕реНрдХрд░рдг" рдпрд╛ "рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП HTTP, 2015 рд╕рдВрд╕реНрдХрд░рдг" рдкрдврд╝рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдпрд╣ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░реЗрдЧрд╛ рдХрд┐ рд╡реЗ рдЗрд╕реЗ рдПрдХ рд╕реЗ рдЙрдард╛рддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред "рдХреЗрд╡рд▓ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп" рд╕реНрд░реЛрдд, рдпрд╛ рдПрдХ рдЬрд┐рд╕рдореЗрдВ рдЕрдиреБрд╢рдВрд╕рд┐рдд рддреГрддреАрдп рдкрдХреНрд╖ рдореЙрдбреНрдпреВрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдФрд░ рдкреАрдИрдкреА 405 рдХреЗ рд╕рд╛рде, рдпрд╛ рдЯреНрд╡рд┐рд╕реНрдЯреЗрдб + рдЯреЙрд░реНрдиреЗрдбреЛ рдмрдирд╛рдо рдПрд╕рд┐рдВрдХрд┐рдпреЛ, рдпрд╛ рдЖрдИрдкреИрдбреНрд░ рдмрдирд╛рдо рдЖрдИрдкреИрдбреНрд░реЗрд╕ рдХреЗ рд╕рд╛рде, рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ _requests рд╕реНрд╡рдпрдВ_ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЕрдиреБрд░реЛрдз _induced_ API рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдЬреЛ рд╕рднреА рдХреНрд░реЙрд╕ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЧрддрддрд╛ рдХреЛрдб, рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдмрдВрдбрд▓рд┐рдВрдЧ рдЗрддреНрдпрд╛рджрд┐ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ, рдФрд░ 2015 рддрдХ рдкреНрд░рдорд╛рдгрд┐рдд HTTP рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕ рдбрд┐рдлрд╝реЙрд▓реНрдЯ API рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд▓рд╛рддрд╛ рд╣реИред рдорд╛рдирдХред рдлрд┐рд░ реирежрейреж рдореЗрдВ, рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╢рд┐рдХрд╛рдпрдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ _requests_ рдПрдкреАрдЖрдИ рдбрд┐рдЬрд╝рд╛рдЗрди реирежрейреж рдорд╛рдирдХреЛрдВ ("HTTP? рдХреМрди рдЕрдм рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ?!?!") рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдареАрдХ рд╣реИ, рдпрд╣ рдареАрдХ рд╣реИ рдХрд┐ рдпреЗ рдЪрдХреНрд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ (рдкрд╣рд▓реЗ AJAX рддрдХ) рдФрд░ рдлрд┐рд░ JSON рд╕рд╛рде рдЖрдпрд╛, XML-RPC рдкрд╣рд╛рдбрд╝реА рдХрд╛ рд░рд╛рдЬрд╛ рдерд╛)ред рдЕрдЧрд░ рдЖрдкрдХреЛ рдПрдкреАрдЖрдИ рдбрд┐рдЬрд╝рд╛рдЗрди рд╕реЗ 5 рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдорд┐рд▓рддреЗ рд╣реИрдВ, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд▓реЛрдЧ рдЗрд╕рдХреЗ рджрд┐рдирд╛рдВрдХрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╢рд┐рдХрд╛рдпрдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдВ, рддреЛ рдЖрдк рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, 10 рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рд╣реИ, рдФрд░ 15 рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╢рд╛рдирджрд╛рд░ рд╣реИред

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

рдХреБрдЫ рдЕрдиреНрдп рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдбреЗрдмрд┐рдпрди рдХреЗ рд╕рд╛рде рд╡рд░реНрддрдорд╛рди рдЙрддреНрддреЛрд▓рди рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХрдордЬреЛрд░ рд╣реИ, рдЬрдмрдХрд┐ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерд┐рдд рдкреБрдирд░реНрд╡рд┐рддрд░рдг рдХреЗ рд╕рд╛рде рдЙрддреНрддреЛрд▓рди рдмреЗрд╣рддрд░ рд╣реИ, рдЬрд╣рд╛рдВ рднреБрдЧрддрд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЧреНрд░рд╛рд╣рдХ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЕрдкрд╕реНрдЯреНрд░реАрдо рд╡рд┐рдХрд╛рд╕ рд╕рдореБрджрд╛рдп рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдЕрдкреЗрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдЪреАрдЬреЛрдВ рдХреЗ рдЯреВрдЯрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реАрдзреЗ рд╢рд┐рдХрд╛рдпрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВред

рдЕрджреНрдпрддрди рдЪрдХреНрд░реЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдкреНрд░рдореБрдЦ рдЪреАрдЬреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдорд╛рдирдХреАрдХрд░рдг (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдкрд╛рдпрдерди 3 рдореЗрдВ рднреА) рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд╕рд╣рдорддрд┐ рд╣реИред рдЙрд╕ рдкрд░, рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬреЛ рдкрд╛рдпрдерди 3 рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ "рдмреИрдХрдкреЛрд░реНрдЯ" рд╣реИрдВ, рдкрд╛рдпрдерди 2 рдХреЗ рд╕рд╛рде рдмрдВрдбрд▓рд┐рдВрдЧ рдХреЛ рд╕рд╣реА рдард╣рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЕрднреА рднреА рдкрд╛рдЗрдерди 2 рдХреА рдПрдХ рд╕реВрдореЛ рд░рд┐рд▓реАрдЬ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрдВрдбрд▓рд┐рдВрдЧ рдХрд░рддрд╛ рд╣реИ (unittest2, subprocess32, enum34, contexlib2 , рдЯреНрд░реЛрд▓рд┐рдпрд╕, рдЖрджрд┐), рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд░рд╛рдЬрдиреАрддрд┐рдХ рд▓рдбрд╝рд╛рдИ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд┐ 2020 рддрдХ рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреБрдирд░реНрд╡рд┐рддрд░рдг рд╕реНрд╡рддрдВрддреНрд░ рд╕реВрдореЛ рд╡рд┐рддрд░рдг рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд░реБрдЪрд┐ рдФрд░ рд╕рдВрд╕рд╛рдзрди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред

@dcramer рд╣рдореЗрдВ рдЕрдкрдирд╛ рд╕рдордп рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж - рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд░рд╛рд╣рдиреАрдп рд╣реИ: рджрд┐рд▓:

@ sigmavirus24 рд╕рдм рдареАрдХ рд╣реИ :)

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

рдЪреВрдВрдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдзрд╛рдЧрд╛ рдмрди рд╕рдХрддрд╛ рд╣реИ, рдЬрдм рд▓реЛрдЧ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рд▓реЛрдЧ рдЗрд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ
"Stdlib рдореЗрдВ рдЕрдиреБрд░реЛрдз рдЬреЛрдбрд╝рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╕рдордп рд╣рдореЗрдВ рдХреНрдпрд╛ рдЬреЛрдбрд╝рдирд╛/рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП",
рдореИрдВ рдЕрдкрд╡рд╛рдж рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдЪрд┐рд▓реНрд▓рд╛рдирд╛ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореИрдВ
рдЕрдиреБрд░реЛрдз рдХреЗ рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдкрд░ рдЖрдорддреМрд░ рдкрд░ рджреЛ рдкреНрд░рд╢реНрди рд╣реЛрддреЗ рд╣реИрдВ - рдХ) рд╡реЗ рдХреНрдпрд╛ рд╣реИрдВ?
рдЖрд╢рдп? рдФрд░ рдмреА) рдХреНрдпрд╛ рдореИрдВ рдЕрдиреБрд░реЛрдз рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?
рдПрдХ DNS рд▓реБрдХрдЕрдк рд╡рд┐рдлрд▓рддрд╛ рдФрд░ рдПрдХ рдЯреВрдЯреА рд╣реБрдИ рдкрд╛рдЗрдк рдХреЗ рдмрд╣реБрдд рдЕрд▓рдЧ рдирд┐рд╣рд┐рддрд╛рд░реНрде рд╣реИрдВ,
рд▓реЗрдХрд┐рди рдЕрдиреБрд░реЛрдз рд╡рд░реНрддрдорд╛рди рдореЗрдВ рджреЛрдиреЛрдВ рдХреЛ рдХрдиреЗрдХреНрд╢рди рддреНрд░реБрдЯрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдореВрд╣рд┐рдд рдХрд░рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдХреБрдЫ рд╡рд┐рд╕реНрддреГрдд рдХрд┐рдпрд╛ рд╣реИ
рдпрд╣рд╛рдВ рд╢рд╛рдорд┐рд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреА:
https://gist.github.com/kevinburke/b98e053a4bf9835c67bb

рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реБрдИред

рдХреЗрд╡рд┐рди рдмрд░реНрдХ
рдлреЛрди: 925.271.7005 | рдЯреНрд╡реЗрдВрдЯреАрдорд┐рд▓реАрд╕реЗрдХрдВрдбреНрд╕.рдХреЙрдо

рд╕реВрд░реНрдп, 25 рдЬрдирд╡рд░реА, 2015 рдореЗрдВ 8:15 рдмрдЬреЗ рдкрд░, ncoghlan [email protected] рд▓рд┐рдЦрд╛ рд╣реИ:

рдХреИрд╕реЗ "рдУрдкрди рд╕реЛрд░реНрд╕ рдХрдореНрдпреБрдирд┐рдЯреА" рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рдЕрдзрд┐рдХ рдареЛрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ
рдмреБрд▓рдмреБрд▓рд╛ рд╣рдорд╛рд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рддрд┐рд░рдЫрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ: рдЬреЗрдирдХрд┐рдВрд╕ рдХреЗ рдкрд╛рд╕ 70% рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рдЬрд╛рд░ рд╣рд┐рд╕реНрд╕реЗрджрд╛рд░реА рд╣реИ
рдХреЙрд░реНрдкреЛрд░реЗрдЯ рд╕реАрдЖрдИ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдореЗрдВред

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

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/kennethreitz/requests/issues/2424#issuecomment -71413074
.

рдПрдлрдбрдмреНрд▓реНрдпреВрдЖрдИрдбрдмреНрд▓реНрдпреВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ http://docs.python-requests.org/en/latest/dev/philosophy/ рдкрд░

Essentially, the standard library is where a library goes to die.
It is appropriate for a module to be included when active 
development is no longer necessary.

рдЧрд▓рдд рдЕрд░реНрде рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореЗрд░реЗ рд▓рд┐рдП, рдпрд╣ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдкреНрд░рддрд┐ рдПрдХ рдЕрдкрдорд╛рдирдЬрдирдХ рд░рд╡реИрдпреЗ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореГрдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИрдВред рдЬрдм рддрдХ рдореИрдВрдиреЗ рдЗрд╕ рдкреГрд╖реНрда рдХреЛ рд╣рд┐рдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛, рддрдм рддрдХ рдореИрдВ рдЪрд┐рдврд╝ рдЧрдпрд╛ рдФрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд░рд╣реЗрдЬ рдХрд┐рдпрд╛, рдЬреЛ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдЪрд░реНрдЪрд╛ рд╣реИ рдФрд░ рдКрдкрд░ рджрд┐рдП рдЧрдП рд╢рдмреНрджреЛрдВ рд╕реЗ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реИред

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

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

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

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

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

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

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