Requests: рдХреБрд▓ рд╕рдордп рд╕рдорд╛рдкреНрдд

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

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

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

рддреЛ: рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ, рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдо рдЕрдиреБрд░реЛрдз рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рд╕рдордЧреНрд░ рд╕рдордпрдмрд╛рд╣реНрдп рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЕрд▓реНрдкрд╛рд╡рдзрд┐, рдХреНрдпрд╛ рдореЗрд░реЗ рдЕрдВрдд рдореЗрдВ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЕрдиреБрд╢рдВрд╕рд┐рдд рддрд░реАрдХрд╛ рд╣реИ?

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

@jribbens рдЗрд╕рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВред

рднрд╛рдЧ 1 рдпрд╣ рд╣реИ рдХрд┐ рдРрд╕реЗ рдкреИрдЪ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реЛрддреА рд╣реИред рдЗрд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рд╕реЙрдХреЗрдЯ рд╕реНрддрд░ рдкрд░ рдмрд╛рд░-рдмрд╛рд░ рдЯрд╛рдЗрдордЖрдЙрдЯ рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдкреИрдЪ рдХреЛ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ httplib, рдЬрд┐рд╕реЗ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд┐рддрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЙрд╕рд╕реЗ рдЕрдзрд┐рдХ рдкреИрдЪ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВред рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ, рд╣рдореЗрдВ рдЗрд╕ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП httplib рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдФрд░ рдЗрд╕рдХреЗ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рддрд░реАрдХреЛрдВ рдХреЗ рд▓рдЧрднрдЧ 50% рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рднрд╛рдЧ 2 рдпрд╣ рд╣реИ рдХрд┐ рдРрд╕реЗ рдкреИрдЪ рдХрд╛ рд░рдЦрд░рдЦрд╛рд╡ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдмреЛрдЭрд┐рд▓ рд╣реИред рд╣рдореЗрдВ рдЗрд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП httplib (рдЗрд╕ рд╕рдордп рдЕрдзрд┐рдХ рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ http.client) рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд╛рдВрдЯреЗ рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рд╣рдореЗрдВ рдПрдХ рдЕрд▓рдЧ HTTP рд╕реНрдЯреИрдХ рдХреЗ рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рдмреЛрдЭ рдХреЛ рдЙрдард╛рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдмрджрд▓рд╛рд╡ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЕрдиреБрдХреВрд▓ рд╣реИред рдпрд╣ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ, рдЖрдорддреМрд░ рдкрд░ рдЙрди рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдпрд╛рдж рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рддрд░рд╣ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ: рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рд▓рд╛рдЧрдд рдЕрдзрд┐рдХ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рднреА рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдЗрд╕ рддрд░рд╣ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдЪрд▓ рд░рд╣реА рд░рдЦрд░рдЦрд╛рд╡ рд▓рд╛рдЧрдд рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдпрд╣ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред

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

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

рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдХрд╣реЗрдВ, рддреЛ рдХреБрд▓ рд╕рдордпрдмрд╛рд╣реНрдп рдПрдХ рдЖрдХрд░реНрд╖рдХ рдЙрдкрджреНрд░рд╡ рд╣реИ: рд╡реЗ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдд рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдЗрд╕реЗ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧреА рддрд░реАрдХрд╛, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдкреНрд░рддрд┐-рд╕реЙрдХреЗрдЯ-рдПрдХреНрд╢рди рдЯрд╛рдЗрдордЖрдЙрдЯ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдирд╛ рд╣реИ, рдЬреЛ stream=True рдФрд░ iter_content рдХреЗ рд╕рд╛рде рд╕рдВрдпреБрдХреНрдд рд╣реИ, рдФрд░ рдбреЗрдЯрд╛ рдХреЗ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдЦреБрдж рдХреЛ рдЯрд╛рдЗрдордЖрдЙрдЯ рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВред рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ iter_content рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдХреБрдЫ рдирд┐рдпрдорд┐рдд рдЕрдВрддрд░рд╛рд▓ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рдкреНрд░рд╡рд╛рд╣ рдЖрдкрдХреЗ рдХреЛрдб рдкрд░ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдЖрдк рдХреЛ рд╕реЙрдХреЗрдЯ-рд╕реНрддрд░реАрдп рдЯрд╛рдЗрдордЖрдЙрдЯ (рдЬреИрд╕реЗ 5s) рдФрд░ рдлрд┐рд░ iter_content рдХрд╛рдлреА рдЫреЛрдЯреЗ рд╣рд┐рд╕реНрд╕реЗ (рдЬреИрд╕реЗ 1KB рдбреЗрдЯрд╛) рдкрд░ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЖрд╢реНрд╡рд╕реНрдд рд░рд╣реЗрдВ рдХрд┐ рдЬрдм рддрдХ рдЖрдк рдкрд░ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╣рдорд▓рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рддрдХ рд╕реЗрд╡рд╛ рд╕реЗ рдЗрдирдХрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╣рд╛рдВ рд╕рдВрднрд╡ рд╣реИред рдпрджрд┐ рдЖрдк рд╕реЗрд╡рд╛ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪрд┐рдВрддрд┐рдд рд╣реИрдВ, рддреЛ рдЕрдкрдиреЗ рд╕реЙрдХреЗрдЯ-рд╕реНрддрд░реАрдп рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ рдмрд╣реБрдд рдХрдо рдФрд░ рдЕрдкрдиреЗ рдЪрдВрдХ рдЖрдХрд╛рд░ рдХреЛ рдЫреЛрдЯрд╛ (0.5s рдФрд░ 512 рдмрд╛рдЗрдЯреНрд╕) рд╕реЗрдЯ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ рд╕рдХреЗ рдХрд┐ рдЖрдк рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╡рд╛рд╣ рдЖрдкрдХреЛ рд╡рд╛рдкрд╕ рд╕реМрдВрдк рд░рд╣реЗ рд╣реИрдВред

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

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

рд╣рд╛рдп @ emgerner-msft,

рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП, рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рд╕рднреА рднрд┐рдиреНрдирддрд╛рдПрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИрдВ рдпрджрд┐ рдпрд╣ рд╕рдЯреАрдХ рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рдирд╣реАрдВ рд╣реИ:

рд╣рдордиреЗ рдЗрд╕ рдкрд░ https://github.com/sigmavirus24/requests-toolbelt/issues/51 рдкрд░ рднреА рдЪрд░реНрдЪрд╛ рдХреА рд╣реИ

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

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

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

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ @jribbens рдХреЛрдИ рдереНрд░реЗрдб рдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рдХрд╣ рд░рд╣рд╛ рд╣реИред рдмрд╕ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ _per_ рд╡реЗрдм рдЕрдиреБрд░реЛрдз рдЕрддреНрдпрдзрд┐рдХ рд╣реИред рдХрдИ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдереНрд░реЗрдб рдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдХрд╛рдзрд┐рдХ рдЯрд╛рдЗрдорд░ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реЛрддрд╛ рд╣реИред рдореБрдЭреЗ рдЗрд╕ рдмрд╛рдд рдХреА рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкрд╛рдпрдерди рдореЗрдВ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ #1928 рдореЗрдВ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЪрд░реНрдЪрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХрд╛рдВрд╢ рдореЗрдВ рдмрд╣реБрдд рд╕реА рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдВ рд╣реИрдВ (рдпрд╣ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧреА)ред рдореИрдВ рдЕрдкрдиреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдХреБрдЫ рдХрд╕реНрдЯрдо рдХреЛрдб рд░рдЦрдиреЗ рдФрд░ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдХрд╕реНрдЯрдо рд╕рдорд╛рдзрд╛рди рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реВрдВ рдпрджрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдиреБрд░реЛрдзреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝реА рдФрд░ рдЬрд╛рдирдХрд╛рд░реА рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛ред рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреВрд░рд╛ рдХрд╛рд░рдг рдирд┐рдореНрди рд╕реНрддрд░ рдХреЗ рдЯреАрд╕реАрдкреА рдХрдиреЗрдХреНрд╢рди рдкреВрд▓рд┐рдВрдЧ рд▓реЙрдЬрд┐рдХ рд╕реЗ рджреВрд░ рд╣реЛрдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдереНрд░реЗрдб рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдХрд╕реНрдЯрдо рдХреЛрдб рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдЙрд╕ рддрд░реНрдХ рдХреЛ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдФрд░ рдпрд╣реА рдореБрдЭреЗ рдХреБрдЫ рдкрд░реЗрд╢рд╛рдиреА рд╣реЛ рд░рд╣реА рд╣реИ .

@ emgerner-msft рд╕рд╣реА рд╣реИред рдореИрдВ @ sigmavirus24 рдХреА рдЯрд┐рдкреНрдкрдгреА рд╕реЗ рдереЛрдбрд╝рд╛ рднреНрд░рдорд┐рдд рд╣реВрдВ, рдзрд╛рдЧреЗ рдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ "рдХреБрд▓ рдЯрд╛рдЗрдордЖрдЙрдЯ" рд╣реЛрдирд╛ рдХрд╛рдлреА рдкреИрджрд▓ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдмрд┐рд▓реНрдХреБрд▓ рднреА "рдЕрджреНрднреБрдд" рдирд╣реАрдВ рд╣реИред рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдмрд╕ рд╕рдордп рд╕реАрдорд╛ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП deadline = time.time() + total_timeout ) рдФрд░ рдлрд┐рд░ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐рдЧрдд рдСрдкрд░реЗрд╢рди рдкрд░ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ deadline - time.time() рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВред

рдзрд╛рдЧреЗ рдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ "рдХреБрд▓ рдЯрд╛рдЗрдордЖрдЙрдЯ" рд╣реЛрдиреЗ рд╕реЗ рдХрд╛рдлреА рдкреИрджрд▓ рдпрд╛рддреНрд░реА рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдмрд┐рд▓реНрдХреБрд▓ "рдЕрджреНрднреБрдд" рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рдФрд░ рдЖрдкрдХрд╛ рд╕рдорд╛рдзрд╛рди рдмрд▓реНрдХрд┐ рдЖрджрд┐рдо рд╣реИред рдХрд╛рд░рдг _рд╕рдмрд╕реЗ_ рд▓реЛрдЧ рдХреБрд▓ (рдпрд╛ рджреАрд╡рд╛рд░ рдШрдбрд╝реА) рдЯрд╛рдЗрдордЖрдЙрдЯ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдкрдврд╝рдиреЗ рдХреЛ "рд╣реИрдВрдЧ рд╣реЛрдиреЗ" рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП, рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдирд┐рдореНрди рдЬреИрд╕рд╛ рдорд╛рдорд▓рд╛:

r = requests.get(url, stream=True)
for chunk in r.iter_content(chunksize):
    process_data(chunk)

рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рдкрдарди iter_content рдХреЗ рдмреАрдЪ рдореЗрдВ рдПрдХ рд▓рдВрдмрд╛ рд╕рдордп рд▓реЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд░реАрдб рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕реЗ рдХрдо рд╣реИ (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдХрд░рддреЗ рд╕рдордп рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ) рдЙрдиреНрд╣реЛрдВрдиреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ . рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЖрдкрдХреЗ рд╕рдорд╛рдзрд╛рди @jribbens рджреНрд╡рд╛рд░рд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рддрдХ рдЖрдкрдХреЛ рдпрд╛рдж рди рд╣реЛ рдХрд┐ рдШрдбрд╝рд┐рдпрд╛рдВ рдХреИрд╕реЗ рдмрд╣рддреА рд╣реИрдВ рдФрд░ рджрд┐рди рдХреЗ рдЙрдЬрд╛рд▓реЗ рдХреА рдмрдЪрдд рдХрд╛ рд╕рдордп рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ time.time() рдЕрдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдЕрдкрд░реНрдпрд╛рдкреНрдд рд╣реИред

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

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдпрджрд┐ рдореИрдВ рдЕрд╕реНрдкрд╖реНрдЯ рдерд╛ @ sigmavirus24 , рддреЛ рдЖрдкрдиреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдореЗрд░реЗ рдЫрджреНрдо рдХреЛрдб рдЪрд┐рддреНрд░рдг рдХреА рдЖрд▓реЛрдЪрдирд╛ рдХреА рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдЖрдкрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдпрд╣ рдПрдХ рд╢рд╛рдмреНрджрд┐рдХ рдкреИрдЪ рдерд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рдпрд╣ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ time.time() рдЙрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рдЬреИрд╕рд╛ рдЖрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕реЛрдЪрддреЗ рд╣реИрдВ - рджрд┐рди рдХреЗ рдЙрдЬрд╛рд▓реЗ рдХреА рдмрдЪрдд рдХрд╛ рд╕рдордп рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИ, рдФрд░ рди рд╣реА рд╣рдо рдЬрд┐рд╕ рд╕рдордп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЙрд╕ рдкрд░ рдШрдбрд╝реА рдХрд╛ рддрд┐рд░рдЫрд╛ рд╣реЛрдирд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдиреЗ рд╕реБрдЭрд╛рд╡ рдХреЛ рдЧрд▓рдд рд╕рдордЭрд╛ рд╣реИ рдпрджрд┐ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдмрдЧ рдШрдЯрд┐рдд рд╣реЛрдЧрд╛ред рдЕрдВрдд рдореЗрдВ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЕрдиреБрд░реЛрдз рдПрдкреАрдЖрдИ рджреНрд╡рд╛рд░рд╛ "рдЬрдореЗ рд╣реБрдП" рд╣реЛрдиреЗ рдХрд╛ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрдкреАрдЖрдИ рдХреЛ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг 2.9.0 рдХреЗ рд░реВрдк рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЬреЛ рдХреБрдЫ рднреА рдЖрдкрдХрд╛ рдорддрд▓рдм рд╣реИ рд╡рд╣ рд╡рд╣ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╢рдмреНрдж рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВред

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

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

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

@emgerner-msft рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЖрдк CPython рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдХрдиреЗрдХреНрд╢рди рд╢рдЯрдбрд╛рдЙрди рддрдм рд╣реЛрдЧрд╛ рдЬрдм рдЕрдиреБрд░реЛрдз рдЬрд╛рд░реА рдирд╣реАрдВ рд░рд╣реЗрдЧрд╛ред рдЙрд╕ рд╕рдордп рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рднреА рд╕рдВрджрд░реНрдн рдЦреЛ рдЬрд╛рдПрдВрдЧреЗ рдФрд░ рд╕реЙрдХреЗрдЯ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЗрд╕рдХрд╛ рдирд┐рдкрдЯрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

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

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

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

рджрд░рдЕрд╕рд▓, рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдПрдХ рдФрд░ рдЪрд┐рдВрддрд╛ред рдЯрд╛рдЗрдордЖрдЙрдЯ рдбреЗрдХреЛрд░реЗрдЯрд░ рдХреЛрдб рдХреЛ рдЕрдзрд┐рдХ рдмрд╛рд░реАрдХреА рд╕реЗ рджреЗрдЦ рд░рд╣рд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдХрд╣рд╛ рдерд╛ рдХрд┐ рдпрд╣ рд╕рд┐рдЧреНрдирд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдкрд╛рдпрдерди рдЯрд╛рдЗрдорд░ (рд╕рдВрднрд╡рддрдГ) рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЗ рд╡рд┐рдкрд░реАрдд рдерд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ SIGALRM рдХреЗ рд╕рд╛рде рд╕рд┐рдЧреНрдирд▓ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдпрдерди рд╕рд┐рдЧреНрдирд▓ рдореЗрдВ рдкреНрд░рд▓реЗрдЦрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореБрдЭреЗ рдпреВрдирд┐рдХреНрд╕ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рджреЛрдиреЛрдВ рд╡рд╛рддрд╛рд╡рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдкрд╛рдпрдерди 2.7 рдФрд░ 3.3+ (рд╕реНрд╡рдпрдВ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рддрд░рд╣) рджреЛрдиреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ рдереЛрдбрд╝рд╛ рдФрд░ рдЖрдЧреЗ рдмрдврд╝реВрдВрдЧрд╛ рдФрд░ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдпрд╛ рдирд╣реАрдВред

@ emgerner-msft рдпрд╣ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рд╣реИред =(

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

@emgerner-msft рдХреНрдпрд╛ рдЖрдк рдЖрд╢реНрд╡рд╕реНрдд рд╣реИрдВ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬрд╝-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдХреЗрддреЛрдВ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ?

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

рддреЛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдореБрд╢реНрдХрд┐рд▓ рдЬрдЧрд╣ рд╣реИред

рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдереНрд░реЗрдб рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЙрд╕реЗ рдорд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдореЛрдмреЗрд╢ рдХреЛрдИ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ рд╕рдВрдХреЗрдд рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рд┐рдЧреНрдирд▓ рд╣реА рдПрдХрдорд╛рддреНрд░ рдорд╛рд░реНрдЧ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИред рдореИрдВ рд╡рд┐рдВрдбреЛрдЬрд╝реА рдкрд╛рдЗрдереЛрдиреА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдореЗрдВ рдкрд┐рдВрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реВрдВ: @brettcannon , рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдпрд╣рд╛рдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ?

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

@jribbens рдЗрд╕рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВред

рднрд╛рдЧ 1 рдпрд╣ рд╣реИ рдХрд┐ рдРрд╕реЗ рдкреИрдЪ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реЛрддреА рд╣реИред рдЗрд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рд╕реЙрдХреЗрдЯ рд╕реНрддрд░ рдкрд░ рдмрд╛рд░-рдмрд╛рд░ рдЯрд╛рдЗрдордЖрдЙрдЯ рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдкреИрдЪ рдХреЛ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ httplib, рдЬрд┐рд╕реЗ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд┐рддрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЙрд╕рд╕реЗ рдЕрдзрд┐рдХ рдкреИрдЪ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВред рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ, рд╣рдореЗрдВ рдЗрд╕ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП httplib рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдФрд░ рдЗрд╕рдХреЗ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рддрд░реАрдХреЛрдВ рдХреЗ рд▓рдЧрднрдЧ 50% рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рднрд╛рдЧ 2 рдпрд╣ рд╣реИ рдХрд┐ рдРрд╕реЗ рдкреИрдЪ рдХрд╛ рд░рдЦрд░рдЦрд╛рд╡ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдмреЛрдЭрд┐рд▓ рд╣реИред рд╣рдореЗрдВ рдЗрд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП httplib (рдЗрд╕ рд╕рдордп рдЕрдзрд┐рдХ рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ http.client) рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд╛рдВрдЯреЗ рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рд╣рдореЗрдВ рдПрдХ рдЕрд▓рдЧ HTTP рд╕реНрдЯреИрдХ рдХреЗ рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рдмреЛрдЭ рдХреЛ рдЙрдард╛рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдмрджрд▓рд╛рд╡ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЕрдиреБрдХреВрд▓ рд╣реИред рдпрд╣ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ, рдЖрдорддреМрд░ рдкрд░ рдЙрди рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдпрд╛рдж рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рддрд░рд╣ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ: рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рд▓рд╛рдЧрдд рдЕрдзрд┐рдХ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рднреА рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдЗрд╕ рддрд░рд╣ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдЪрд▓ рд░рд╣реА рд░рдЦрд░рдЦрд╛рд╡ рд▓рд╛рдЧрдд рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдпрд╣ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред

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

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

рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдХрд╣реЗрдВ, рддреЛ рдХреБрд▓ рд╕рдордпрдмрд╛рд╣реНрдп рдПрдХ рдЖрдХрд░реНрд╖рдХ рдЙрдкрджреНрд░рд╡ рд╣реИ: рд╡реЗ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдд рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдЗрд╕реЗ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧреА рддрд░реАрдХрд╛, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдкреНрд░рддрд┐-рд╕реЙрдХреЗрдЯ-рдПрдХреНрд╢рди рдЯрд╛рдЗрдордЖрдЙрдЯ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдирд╛ рд╣реИ, рдЬреЛ stream=True рдФрд░ iter_content рдХреЗ рд╕рд╛рде рд╕рдВрдпреБрдХреНрдд рд╣реИ, рдФрд░ рдбреЗрдЯрд╛ рдХреЗ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдЦреБрдж рдХреЛ рдЯрд╛рдЗрдордЖрдЙрдЯ рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВред рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ iter_content рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдХреБрдЫ рдирд┐рдпрдорд┐рдд рдЕрдВрддрд░рд╛рд▓ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рдкреНрд░рд╡рд╛рд╣ рдЖрдкрдХреЗ рдХреЛрдб рдкрд░ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдЖрдк рдХреЛ рд╕реЙрдХреЗрдЯ-рд╕реНрддрд░реАрдп рдЯрд╛рдЗрдордЖрдЙрдЯ (рдЬреИрд╕реЗ 5s) рдФрд░ рдлрд┐рд░ iter_content рдХрд╛рдлреА рдЫреЛрдЯреЗ рд╣рд┐рд╕реНрд╕реЗ (рдЬреИрд╕реЗ 1KB рдбреЗрдЯрд╛) рдкрд░ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЖрд╢реНрд╡рд╕реНрдд рд░рд╣реЗрдВ рдХрд┐ рдЬрдм рддрдХ рдЖрдк рдкрд░ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╣рдорд▓рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рддрдХ рд╕реЗрд╡рд╛ рд╕реЗ рдЗрдирдХрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╣рд╛рдВ рд╕рдВрднрд╡ рд╣реИред рдпрджрд┐ рдЖрдк рд╕реЗрд╡рд╛ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪрд┐рдВрддрд┐рдд рд╣реИрдВ, рддреЛ рдЕрдкрдиреЗ рд╕реЙрдХреЗрдЯ-рд╕реНрддрд░реАрдп рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ рдмрд╣реБрдд рдХрдо рдФрд░ рдЕрдкрдиреЗ рдЪрдВрдХ рдЖрдХрд╛рд░ рдХреЛ рдЫреЛрдЯрд╛ (0.5s рдФрд░ 512 рдмрд╛рдЗрдЯреНрд╕) рд╕реЗрдЯ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ рд╕рдХреЗ рдХрд┐ рдЖрдк рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╡рд╛рд╣ рдЖрдкрдХреЛ рд╡рд╛рдкрд╕ рд╕реМрдВрдк рд░рд╣реЗ рд╣реИрдВред

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

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ @zooba рдХреЗ рдкрд╛рд╕ рдПрдХ рд╡рд┐рдЪрд╛рд░ рд╣реЛ рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред :)

(рдЕрд╕рдВрдмрджреНрдз рд░реВрдк рд╕реЗ, рдореЗрд░реА рдкрд╕рдВрджреАрджрд╛ рдЪреАрдЬреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЧрд┐рдЯрд╣рдм рдореБрджреНрджреЗ рдореЗрдВ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рдХреА рдбреЗрдЬрд╝реА-рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реИред)

рд╣рд╛рд╣рд╛, рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА @zooba рдФрд░ @brettcannon рдХреЛ рдЬрд╛рдирддрд╛ рд╣реВрдВред рдореИрдВ рдЙрдирдХреЗ рд╕рд╛рде рдпрд╣рд╛рдВ рдпрд╛ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдЪрд░реНрдЪрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╢рд╛рдпрдж рдЙрдирдХреА рднреА рдорджрдж рдХрд░реЗрдЧрд╛ред

@ emgerner-msft рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдиреБрдорд╛рди рдирд╣реАрдВ рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ: MSFT рдПрдХ рдмрдбрд╝рд╛ рд╕рдВрдЧрдарди рд╣реИ!

@ рд▓реБрдХрд╛рд╕рд╛ рдмрд╕ рдКрдкрд░ рд▓рд┐рдЦреЗ рдЧрдП рдкрд╛рда рдХреА рджреАрд╡рд╛рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрдврд╝ рд░рд╣рд╛ рд╣реИ - рджрд┐рд▓рдЪрд╕реНрдк! рд╕реНрдЯреНрд░реАрдо = рдЯреНрд░реВ рдФрд░ iter_content рдЯреВ рдЯрд╛рдЗрдо рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЪрд░реНрдЪрд╛ рдкрд░, рдмрдбрд╝реЗ рдЕрдкрд▓реЛрдб рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХрд╛ рд╕рдорд╛рди рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИ?

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

lol @lukasa рдореИрдВ рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдХреА рдмрд╛рдд рд▓реЗрддрд╛ рд╣реВрдВ, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореЗрд░реЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рдерд╛, рд▓реЗрдХрд┐рди "рдлреАрдЪрд░ рдмрдирд╛рдо рдорд┐рд╕рдлреАрдЪрд░" рдкрд░ рдореБрдЭреЗ рдбрд░ рд╣реИ рдХрд┐ рдореИрдВ рдЖрдкрдХреЗ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд┐рдкрд░реАрдд рд╣реВрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рднреА рдЬреЛ _рдирд╣реАрдВ_ рдХреБрд▓ рдЯрд╛рдЗрдордЖрдЙрдЯ рдЪрд╛рд╣рддрд╛ рд╣реИ рд╡рд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реИ рдХрд┐ рд╡реЗ рдХреНрдпрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдореБрдЭреЗ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рдиреЗ рдореЗрдВ рдХрдард┐рдирд╛рдИ рд╣реЛ рд░рд╣реА рд╣реИ рдЬрд╣рд╛рдВ рдЖрдк рдПрдХ рдмрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд░рддреЗ рд╣реИрдВ "30 рдПрдордмреА рдбрд╛рдЙрдирд▓реЛрдб 30 рдЬреАрдмреА рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ" рдирд╣реАрдВ рд╣реИ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд▓рд╛рднрдХрд╛рд░реА рд╡рд┐рд╢реЗрд╖рддрд╛!

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдХреБрдЫ рдРрд╕рд╛ рд╣реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХреБрд▓ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓рд╛рднреЛрдВ рдХреЗ рдмрд┐рдирд╛ рд╕рдВрджреЗрд╣ рд╣реИ) stream=True рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдмрд╛рдд рдпрд╣ рдереА рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдЪреАрдЬреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рд╛ ...

рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдмрд╛рдд рдпрд╣ рдереА рдХрд┐ рдЗрд╕рдиреЗ рдЖрдкрдХреЗ рд▓рд┐рдП рдЪреАрдЬреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рд╛

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

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

рд╕реНрдЯреНрд░реАрдо = рдЯреНрд░реВ рдФрд░ iter_content рдЯреВ рдЯрд╛рдЗрдо рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЪрд░реНрдЪрд╛ рдкрд░, рдмрдбрд╝реЗ рдЕрдкрд▓реЛрдб рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХрд╛ рд╕рдорд╛рди рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИ?

рдЕрдкрдиреЗ рдЕрдкрд▓реЛрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрдирд░реЗрдЯрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ, рдФрд░ рдЙрд╕реЗ data рдкрд░ рднреЗрдЬ рджреЗрдВред рдпрд╛, рдпрджрд┐ рдЦрдВрдбрд┐рдд рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдЖрдкрдХреЗ рд▓рд┐рдП рд╡рд┐рдЬреЗрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдЬреИрд╕реА рд╡рд╕реНрддреБ рдХреЛ рдЬрд╛рджреВ read рд╡рд┐рдзрд┐ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ рдФрд░ _that_ рдХреЛ data рдкрд╛рд╕ рдХрд░реЗрдВред

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

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

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ_ред рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВ рд╣рдореЗрд╢рд╛ рдХреБрдЫ рд░рдХреНрд╖рд╛рддреНрдордХ рдкрд╛рда рдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рдбрд╛рд▓рдиреЗ рд╕реЗ рдШрдмрд░рд╛рддрд╛ рд╣реВрдБред рдореЗрд░реЗ рдЕрдиреБрдорд╛рди рд╕реЗ рдпрд╣ рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрди рдореЗрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╛рда рдЬреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ _don't_ рдХреБрдЫ рдХреНрдпреЛрдВ рд╣реИ, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛ рд╣реИред рдбреЙрдХреНрд╕ рдореЗрдВ рдЬрдЧрд╣ рдмреЗрд╣рддрд░ рд╣реЛрдЧреА, рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ, рдХреБрдЫ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдиреБрд╕реНрдЦрд╛ рджреНрд╡рд╛рд░рд╛ред

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

рд╣реЗ, рдореИрдВ рдирд╣реАрдВ рд╣реВрдБ:

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

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

рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдмрд╛рдд рдпрд╣ рдереА рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдЪреАрдЬреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ ...

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

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

рдЙрд╕ рдиреЗ рдХрд╣рд╛, рдореИрдВ рдЖрд╢реНрд╡рд╕реНрдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрд▓рд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ: рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдареЛрд╕ рддрд░реНрдХ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ (рдФрд░, рдкрд╛рд╕ рдкрд░ рдЖрдкрдХреЛ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, "рдореБрдЭреЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ!" рдПрдХ рдареЛрд╕ рддрд░реНрдХ рдирд╣реАрдВ рд╣реИ: рдХреБрдЫ рдХрд╛рд░рдг рдмрддрд╛рдирд╛ рд╣реЛрдЧрд╛!)

@sigmavirus24

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

рдорд╛рдирд╛!

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

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

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

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

@sigmavirus24 рдЗрд╕ рдкреВрд░реЗ рд╕реВрддреНрд░ рдореЗрдВ рдЖрдк рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдХреГрдкрд╛рд▓реБ, рднрдбрд╝рдХрд╛рдК рдФрд░ рдЕрд╕рднреНрдп рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдореИрдВ рдЖрдкрд╕реЗ рд╡рд┐рдирдореНрд░рддрд╛ рд╕реЗ рдкреВрдЫ рд░рд╣рд╛ рд╣реВрдВ, рдХреГрдкрдпрд╛ рд░реБрдХреЗрдВред

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

  1. рдбрд╛рдЙрдирд▓реЛрдб рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЕрдЧрд░ рдореИрдВ рд░реАрдб рдЯрд╛рдЗрдордЖрдЙрдЯ '(рдЬреИрд╕реЗ 5s) рдФрд░ рдлрд┐рд░ iter_content рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╛рдлреА рдЫреЛрдЯреЗ рд╣рд┐рд╕реНрд╕реЛрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП 1 рдХреЗрдмреА рдбреЗрдЯрд╛) рдкрд░ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЕрдиреБрд░реЛрдз рдкреБрд╕реНрддрдХрд╛рд▓рдп 1 рдХреЗрдмреА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП 5 рдПрд╕ рдЯрд╛рдЗрдордЖрдЙрдЯ рд▓рд╛рдЧреВ рдХрд░реЗрдЧрд╛ рдФрд░ рдЯрд╛рдЗрдордЖрдЙрдЯ рдЕрдЧрд░ рдпрд╣ 5s рд╕реЗ рдЕрдзрд┐рдХ рд▓реЗрддрд╛ рд╣реИред рд╕рд╣реА?
  2. рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдЕрдкрд▓реЛрдб рдХреЗ рд▓рд┐рдП рдпрджрд┐ рдореИрдВ рдПрдХ рдЬрдирд░реЗрдЯрд░ рдпрд╛ рдлрд╝рд╛рдЗрд▓ рдЬреИрд╕реА рд╡рд╕реНрддреБ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдбреЗрдЯрд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд▓реМрдЯрд╛рддреА рд╣реИ рдФрд░ рдореИрдВрдиреЗ рд░реАрдб рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ 5s рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЕрдиреБрд░реЛрдз рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкреНрд░рддреНрдпреЗрдХ рдЪрдВрдХ рдХреЗ рд▓рд┐рдП 5s рдЯрд╛рдЗрдордЖрдЙрдЯ рд▓рд╛рдЧреВ рдХрд░реЗрдЧреА рдФрд░ рдпрджрд┐ рдЗрд╕рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ рддреЛ рдЯрд╛рдЗрдордЖрдЙрдЯред рд╕рд╣реА?
  3. рдЕрдЧрд░ рдореИрдВ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЗрдирд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рдФрд░ рд╕реАрдзреЗ рдмрд╛рдЗрдЯ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдЕрдиреБрд░реЛрдз рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рд╕реЗрдЯ рдХрд┐рдП рдЧрдП рд░реАрдб рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рдХреИрд╕реЗ рд▓реЗрддреА рд╣реИ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдореИрдВ рдЖрдХрд╛рд░ 4 рдПрдордмреА рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ 5 рдПрд╕ рдХрд╛ рдПрдХ рдкрдарди рдЯрд╛рдЗрдордЖрдЙрдЯ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рд╡рд╣ рд░реАрдб рдЯрд╛рдЗрдордЖрдЙрдЯ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдм рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ?
  4. рдпрджрд┐ рдореИрдВ iter_content рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдХреЗрд╡рд▓ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╕рднреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕реАрдзреЗ 5s рдХреЗ рд░реАрдб рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЗ рд╕рд╛рде рдЕрдиреБрд░реЛрдз рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ, рддреЛ рд╡рд╣ рд░реАрдб рдЯрд╛рдЗрдордЖрдЙрдЯ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдм рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ?

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

рдЕрдм рддрдХ рдЖрдкрдХреА рдорджрдж рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

@ emgerner-msft рдареАрдХ рд╣реИ:

  1. рдирд╣реАрдВ, рдпрд╣ рдЙрд╕рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ, рджреБрдЦ рдХреА рдмрд╛рдд рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдЯрд╛рдЗрдордЖрдЙрдЯ _per рд╕реЙрдХреЗрдЯ рдХреЙрд▓_ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗ рд╕рдХрддреЗ рдХрд┐ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдХрд┐рддрдиреЗ рд╕реЙрдХреЗрдЯ рдХреЙрд▓ рд╣реИрдВред рдЗрд╕рдХрд╛ рдХрд╛рдлреА рдЬрдЯрд┐рд▓ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмреИрдХрд┐рдВрдЧ рд╕реЙрдХреЗрдЯ рдХреЛ рдмрдлрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд▓рдкреЗрдЯрддрд╛ рд╣реИ (рдЖрдорддреМрд░ рдкрд░ io.BufferedReader рдЬреИрд╕рд╛ рдХреБрдЫ)ред рдпрд╣ рдЙрддрдиреЗ рд╣реА recv_into рдХреЙрд▓ рдХрд░реЗрдЧрд╛, рдЬрдм рддрдХ рдХрд┐ рдЙрд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рдбреЗрдЯрд╛ рдЙрдкрд▓рдмреНрдз рди рдХрд░рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛред рдпрд╣ рд╢реВрдиреНрдп рдЬрд┐рддрдирд╛ рдХрдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдпрджрд┐ рдмрдлрд░ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рдбреЗрдЯрд╛ рд╣реИ) рдпрд╛ рдпрджрд┐ рд░рд┐рдореЛрдЯ рдкреАрдпрд░ рдЖрдкрдХреЛ рдПрдХ рдмрд╛рд░ рдореЗрдВ рдПрдХ рдмрд╛рдЗрдЯ рдбреНрд░рд┐рдк-рдлреАрдбрд┐рдВрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ рддреЛ рдЖрдкрдХреЛ рдкреНрд░рд╛рдкреНрдд рдмрд╛рдЗрдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЬрд┐рддрдиреА рдЕрдзрд┐рдХ рд╣реЛ рд╕рдХрддреА рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдЗрд╕ рддрд░рд╣ рдХреЗ рдмрдлрд░ рдХрд┐рдП рдЧрдП рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЦрд┐рд▓рд╛рдл read() рдХреЙрд▓ рдХреА рдкреНрд░рдХреГрддрд┐ рдХреЗ рдХрд╛рд░рдг рд╣рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ recv_into рдХреЙрд▓ рдХреЗ рдмреАрдЪ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рдкреНрд░рд╡рд╛рд╣ рднреА рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИред

рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЧрд╛рд░рдВрдЯреА рджреЗрдиреЗ рдХрд╛ _only_ рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ n-рд╕реЗрдХрдВрдб рдкреНрд░рддреАрдХреНрд╖рд╛ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ iter_content рдХреЛ 1 $ рдХреЗ рдПрдХ рдмрдбрд╝реЗ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рдХрд░рдирд╛ рд╣реИред рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдпрд╣ рдПрдХ рдмреЗрддреБрдХрд╛ рдЕрдХреНрд╖рдо рддрд░реАрдХрд╛ рд╣реИ (рдкрд╛рдпрдерди рдХреЛрдб рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордп рд╡реНрдпрддреАрдд рдХрд░рддрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдпрд╣ рдЧрд╛рд░рдВрдЯреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИ рдЬреЛ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВред

  1. рдореЗрд░рд╛ рдпрд╣ рднреА рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рдирд╣реАрдВ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ _send_ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреА рдХреЛрдИ рдзрд╛рд░рдгрд╛ рдирд╣реАрдВ рд╣реИред рдПрдХ рдкрд╛рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ socket.setdefaulttimeout рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред
  2. рд░реАрдб рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдЖрдк рд╢рд░реАрд░ рдХреЛ рдХреИрд╕реЗ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред
  3. рд╡рд╣ рд░реАрдб рдЯрд╛рдЗрдордЖрдЙрдЯ iter_content рдорд╛рдорд▓реЗ рдХреЗ рд╕рдорд╛рди рд╣реА рдЪрд┐рдВрддрд╛ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИ: рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рдм рдХреБрдЫ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рд╣реИ рддреЛ рд╣рдо рдмреЙрдбреА рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рддрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рдЙрддрдиреА recv_into рдХреЙрд▓ рдЙрддреНрд╕рд░реНрдЬрд┐рдд рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдЯрд╛рдЗрдордЖрдЙрдЯ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдмрд╛рд░реА-рдмрд╛рд░реА рд╕реЗред

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

@рд▓реБрдХрд╛рд╕рд╛

рдЖрд╣, рдХреНрдпрд╛ рдЧрдбрд╝рдмрдбрд╝ рд╣реИ, рд╣рд╛рд╣рд╛ред рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдореИрдВ рдЧрд▓рдд рдерд╛ред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдПрдХ рдкреНрд░реЗрд╖рдг рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреА рд╕рдЦреНрдд рдЬрд░реВрд░рдд рд╣реИред рдореИрдВ рдмрд╕ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдпрд╣ рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрддрд╛ рдХрд┐ рдЙрдирдХреЗ рдЕрдкрд▓реЛрдб рдЕрд╕реАрдорд┐рдд рд░реВрдк рд╕реЗ рд▓рдЯрдХ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рд╣реИред :/

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

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдПрдХ рдкреНрд░реЗрд╖рдг рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреА рд╕рдЦреНрдд рдЬрд░реВрд░рдд рд╣реИред рдореИрдВ рдмрд╕ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдпрд╣ рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрддрд╛ рдХрд┐ рдЙрдирдХреЗ рдЕрдкрд▓реЛрдб рдЕрд╕реАрдорд┐рдд рд░реВрдк рд╕реЗ рд▓рдЯрдХ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рд╣реИред :/

рдЗрд╕рд▓рд┐рдП рдЕрдиреБрд░реЛрдзреЛрдВ рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рдЯрд╛рдЗрдордЖрдЙрдЯ рддрд░реНрдХ рдореВрд▓ рд░реВрдк рд╕реЗ urllib3 рдХрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд╣рд╛рдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ рдФрд░ рд╣рдо рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдкрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдЫреЛрдЯреА рдЕрд╡рдзрд┐ рдореЗрдВ, рдмреЗрдЭрд┐рдЭрдХ setdefaulttimeout рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрд╛рдВрдЪ рдХрд░реЗрдВред

рдХреНрдпрд╛ рдЖрдк рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рджреЗрдЦрддреЗ рд╣реИрдВ? рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

рдЖрдкрдХреЗ рдкрд╛рд╕ рдпрд╣рд╛рдВ рдореМрдЬреВрдж рд╡рд┐рдХрд▓реНрдк рдЖрдкрдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд╛рдзрд╛рдУрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВред

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдирд┐рдпрдд рд╕рдордпрдмрд╛рд╣реНрдп рд╣реИ (рдЕрд░реНрдерд╛рдд, рдпрджрд┐ рдЖрдкрдХреЗ рд▓рд┐рдП рдпрд╣ рдЧрд╛рд░рдВрдЯреА рджреЗрдирд╛ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЕрдиреБрд░реЛрдз _n_ рд╕реЗрдХрдВрдб рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд▓рдЧреЗрдЧрд╛) рддреЛ рдЖрдк рдкрд╛рдЗрдерди рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рде рдЖрд╕рд╛рдиреА рд╕реЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдЬ рдореМрдЬреВрдж рд╣реИред рдкрд╛рдпрдерди 2.7 рдореЗрдВ рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ recv рдХреЙрд▓ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреНрд░рдорд┐рдХ рдЯрд╛рдЗрдордЖрдЙрдЯ рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП socket._fileobject рдкреИрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдкрд╛рдпрдерди 3 рдореЗрдВ рдпрд╣ рдФрд░ рднреА рдХрдард┐рди рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдЙрд╕ рд╡рд░реНрдЧ рдореЗрдВ рдкреИрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реА ( io.BufferedReader ) рдореЗрдВ рд╣реИ, рдЬреЛ рдПрдХ рджреБрдГрд╕реНрд╡рдкреНрди рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред

рдЕрдиреНрдпрдерд╛, рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ _off_ рдмрдлрд░рд┐рдВрдЧ рдХреЛ рдЪрд╛рд▓реВ рдХрд░рдирд╛ рд╣реИред рдпрд╣ httplib рдФрд░ рдЙрд╕рдХреЗ рдКрдкрд░ рд╣рдорд╛рд░реЗ рд╕рднреА рдкреИрдЪ рдХреЛ рддреЛрдбрд╝ рджреЗрдЧрд╛, рдЬреЛ рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо read(x) рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╕реЙрдХреЗрдЯ рдкрд░ read syscall рдХреА рддрд░рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдмрд▓реНрдХрд┐ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп read # рдХреА рддрд░рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реЗрдЧрд╛ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдкрд░

рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рд░рдЦреЗрдВ: рдпрджрд┐ рдЖрдк рдПрдХ рдирд┐рдпрддрд╛рддреНрдордХ рдЯрд╛рдЗрдордЖрдЙрдЯ _need_ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдкрд╛рдПрдВрдЧреЗ рдХрд┐ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЗрд╕реЗ рдЖрдкрдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реИрдВред рдореВрд▓ рд░реВрдк рд╕реЗ, рдпрджрд┐ рд╡реЗ httplib рдпрд╛ socket.makefile рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рднрд╛рдЧреНрдп рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ: рдпрд╣ рдЧрд╛рд░рдВрдЯреА рджреЗрдиреЗ рдХрд╛ рдХреЛрдИ рд╕рд╛рдл рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдмрд╛рд░-рдмрд╛рд░ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рдордп рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдг рдЖрдкрдХреЛ рд╡рд╛рдкрд╕ рд▓реМрдЯрд╛рддрд╛ рд╣реИ -1 рдкрдврд╝рддрд╛ рд╣реИред рдЖрдк рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрдкрдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдиреБрдХрд╕рд╛рди рдкрд╣реБрдВрдЪрд╛рдПрдЧрд╛ред

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

рдЖрдк BufferedReader рд╡рд░реНрдЧ рдореЗрдВ рдкрд╛рдпрдерди рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдХреЛрдб рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рд▓рдХреНрд╖реНрдп рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ: рдпрджрд┐ рдЖрдк рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкрд╛рдпрдерди рд▓реЛрдЧреЛрдВ рд╕реЗ рдкреВрдЫ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдореИрдВ рдЕрдкрдиреА рд╕рд╛рдВрд╕ рдирд╣реАрдВ рд░реЛрдХреВрдВрдЧрд╛ред

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

urllib3 рдореЗрдВ рдпрд╛ рдпрд╣рд╛рдБ рдлрд╝реАрдЪрд░ рдЕрдиреБрд░реЛрдз? рдПрдХ (рдпрд╛ рджреЛрдиреЛрдВ) ASAP рдЦреЛрд▓реЗрдЧрд╛ред

urllib3 рдореЗрдВ рдлрд╝реАрдЪрд░ рдЕрдиреБрд░реЛрдз: рд╣рдореЗрдВ рдЕрдиреБрд░реЛрдзреЛрдВ рдореЗрдВ рдХреБрдЫ рднреА рдирдпрд╛ рджрд┐рдЦрд╛рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИред

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

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

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

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

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

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

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