Freepascal рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ USRLE рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рд╕реНрд╡рдЪрд╛рд▓рди



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

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

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

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

IEGRULstreamer = interface procedure GetExtractByOGRN(OGRN: string; ; isLegal: boolean; var Extract: TStream); procedure GetLegalsListByName(Name, Region: string; ; var LegalsList: TCollection); end; 

рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд░рд╣рд╕реНрдпрдордп рдкреИрд░рд╛рдореАрдЯрд░ X рдФрд░ рдХрд┐рд╕ рд╕рдВрдЧреНрд░рд╣ рдХрд╛ рджреВрд╕рд░рд╛ рдлрд╝рдВрдХреНрд╢рди рд╡рд╛рдкрд╕ рдЖрдПрдЧрд╛, рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рд╕рд╛рдЗрдЯ рдЕрдиреБрд░реЛрдз рдХреЛ рдХреИрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреА рд╣реИред

1. рд╕рд╛рдЗрдЯ рдореЗрдВ рдХреИрдкреНрдЪрд╛ рдХреА рдЦреЛрдЬ рдФрд░ рдЬрд╛рдБрдЪ рдХреЗ рд▓рд┐рдП рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде рдПрдХ рдлреЙрд░реНрдо рд╣реИ:



2. рдХреИрдкреНрдЪрд╛ рдПрдХ рдкреВрд░реНрд╡-рдЙрддреНрдкрдиреНрди рдЫрд┐рдкреЗ рд╣реБрдП рдлрд╝реАрд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреИрдкреНрдЪрд╛рдЯреЛрдХрди рдирд╛рдо рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рдЯреЛрдХрди рдХреЗ рд▓рд┐рдП рдХреИрдкреНрдЪрд╛ рдЫрд╡рд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

3. "рдЦреЛрдЬ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдПрдХ POST рдЕрдиреБрд░реЛрдз рд╕рд░реНрд╡рд░ рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдкрд░рд┐рдгрд╛рдореЛрдВ рдореЗрдВ JSON рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдПрдХ рд╕рд░рдгреА рдХреЗ рд╕рд╛рде рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ JSON рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдореЛрдВ рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдЬрд╛рд╡рд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред

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

 TCapthcaRecognizeFunc = function(Captha: TStream): string of object; ... procedure GetExtractByOGRN(OGRN: string; CaptchaFunc: TCapthcaRecognizeFunc; isLegal: boolean; var Extract: TStream); 

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

 function TForm1.RecognizeFunc(captcha: TStream): string; begin CaptchaImg.Picture.LoadFromStream(captcha); Result := InputBox('','    ', ''); end; 

рджреВрд╕рд░рд╛ рд╕рд╡рд╛рд▓ рд╕рд░реНрд╡рд░ JSON рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рд╕рд╛рдордЧреНрд░реА рд╣реИред рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреНрдпрд╛ рдЖрддрд╛ рд╣реИ:

JSON рдиреЗ рд╕реНрд╡рд░реВрдкрд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреА
 { "query": {"captcha":"382915", "ogrninnfl":null, "fam":null, "nam":null, "otch":null, "region":null, "ogrninnul":null, "namul":"", "regionul":"73", "kind":"ul", "ul":true, "searchByOgrn":false, "nameEq":false, "searchByOgrnip":true}, "rows": [ {"T":"ED346E713D4A1AC851F9B589C6D2AECD1D809D5B6B5D1B98E697B6E0FD873E137B828AC59A60D159BB2894F11D00AB5639E2ACEE4E2ED5B7AC7A6EFE28FD987BC288B93C4D3D3EC1008DA0F128BA7E5E", "INN":"7325001144", "NAME":"  ", "OGRN":"1027301175110", "ADRESTEXT":"432017,  ,  ,  , 1", "CNT":"4", "DTREG":"03.12.2002", "KPP":"732501001"}, {"T":"2ECB284C7682E5F1D1129AA3074FABB4B74BB28EA426AF79C091CEDEA0D9E391CA26FF405A7C9742466E19C78FBE5A59BDCBCD21268FFD8AFD3A8509CCA84541", "INN":"7303007375", "NAME":"      \"   \"", "OGRN":"1027301173283", "ADRESTEXT":"432063,  ,  ,   , 7", "CNT":"4", "DTREG":"27.11.2002", "KPP":"732501001", "DTEND":"01.09.2010"}, ] } 


рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдкрд░рд┐рдгрд╛рдо рдореЗрдВ рдПрдХ рдХреНрд╡реЗрд░реА рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЦреЛрдЬ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реЛрддреЗ рд╣реИрдВ (рддрд╛рдХрд┐ рд╡реЗ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдлреЙрд░реНрдо рдлрд╝реАрд▓реНрдб рдореЗрдВ рд░рд╣реЗрдВ) рдФрд░ рдПрдХ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреАред рдкреАрдбреАрдПрдл рдлрд╛рдЗрд▓ рдХрд╛ рд▓рд┐рдВрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЬрд╛рд╡рд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рд╕рдВрдпреБрдХреНрдд рд╣реИ:
  "Https://egrul.nalog.ru/download/" 
рдФрд░ рд╡рд╕реНрддреБ рдХрд╛ рдореБрдЦреНрдп рдорд╛рди "T" рд╣реИред рдЙрддреНрдкрдиреНрди рдкреАрдбреАрдПрдл рдлрд╛рдЗрд▓ рдХрд╛ рдЬреАрд╡рдирдХрд╛рд▓ рдХреБрдЫ рдорд┐рдирдЯреЛрдВ рдХрд╛ рд╣реИред

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

 POST / HTTP/1.1 Host: egrul.nalog.ru Connection: keep-alive Accept: application/json, text/javascript, */*; q=0.01 Origin: https://egrul.nalog.ru X-Requested-With: XMLHttpRequest User-Agent: Chrome/67.0.3396.99 Safari/537.36 Content-Type: application/x-www-form-urlencoded Referer: https://egrul.nalog.ru/ Accept-Encoding: gzip, deflate, br Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7 

рдФрд░ рдпрд╣рд╛рдБ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрди рд╣реИ:

 kind=ul&srchUl=name&ogrninnul=7716819629&namul=%D0%BF%D1%80%D0%B0%D0%B2% D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%D0%BE&regionul=73 &srchFl=ogrn&ogrninnfl=&fam=&nam=&otch=&region=&captcha=449023&captchaToken=DAEDA 7504CACAC82CF09E08319B68DF5F9BD62B2F44D33DD679DDE55B5CF58B17FEC84E78CEEB9639 84D2B2BD8C3AA15 

рдЗрди рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рд╕рд╛рде, рд╣рдо рдХрд╛рд░реНрдп рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдлрд╝реНрд░реАрд╕реНрдкреИрдХрд▓ рдХреЗ рд▓рд┐рдП рдХрд░реВрдБрдЧрд╛:

Synapse рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП http- request рднреЗрдЬрдиреЗ рдХреЗ рд╕рдмрд╕реЗ рд╕рд░рд▓реАрдХреГрдд (рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП) рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдПрдХ рдмрд╣реБрдд рд╣реА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ, рдпрд╣ рдПрд╕рдПрд╕рдПрд▓ рдХреЗ рд╕рд╛рде рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдпрд╛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд╕рд╛рде рд╣реА рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдХрдиреЗрдХреНрд╢рди рднреА рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ: httpsend, ssl_openssl, synautilред

Fcl-json рдирд┐рд░реНрдорд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп - рдЖрд╡рд╢реНрдпрдХ рдореЙрдбреНрдпреВрд▓: fpjson рдФрд░ fpjsonrtti - рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╡рд╕реНрддреБрдУрдВ рдХреА рдЕрдзрд┐рдХрддрдо рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП JSON рдореЗрдВ рд▓реМрдЯ рдЖрдПред

Fcl-xml рдмрд┐рд▓реНрдЯ-рдЗрди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЙрдбреНрдпреВрд▓ - рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ HTML рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ DOM рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рд╣рдо SAX_HTML, DOM_HTML, DOM рдореЙрдбреНрдпреВрд▓реНрд╕ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВрдЧреЗред

рдЖрдЗрдП рд╣рдо рд╡рд╕реНрддреБрдУрдВ рдФрд░ рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЕрдВрддрддрдГ рдирд┐рдХрд▓реЗ:

 TEGRULItem = class(TCollectionItem) private fT, fINN, fNAME, fOGRN, fADRESTEXT, fCNT, fDTREG, fDTEND, fKPP: string; public function GetPdfLink: string; published property T: string read fT write fT; property INN: string read fINN write fINN; property NAME: string read fNAME write fNAME; property OGRN: string read fOGRN write fOGRN; property ADRESTEXT: string read fADRESTEXT write fADRESTEXT; property CNT: string read fCNT write fCNT; property DTREG: string read fDTREG write fDTREG; property DTEND: string read fDTEND write fDTEND; property KPP: string read fKPP write fKPP; end; 

рдЗрд╕ рд╡рд░реНрдЧ рдореЗрдВ рд╣рдо рдЙрди рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкреИрдХ рдХрд░реЗрдВрдЧреЗ рдЬреЛ рд╕рд░реНрд╡рд░ JSON рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд░рдгреА рдореЗрдВ рд╡рд╛рдкрд╕ рдЖрдПрдВрдЧреЗред рд╣рдо рдЙрдиреНрд╣реЗрдВ JSONToCollection рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрдврд╝реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдВрдЧреНрд░рд╣ рдХрд╛ рдПрдХ рддрддреНрд╡ рдмрдирд╛рдиреЗ рдФрд░ рд╕рднреА рд╕рдВрдмрдВрдзрд┐рдд рдЧреБрдгреЛрдВ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрд░рдЯреАрдЯреАрдЖрдИ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдореЗрдВ (рд╕рд╛рде рд╣реА рдбреЗрд▓реНрдлреА рдореЗрдВ) рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдирд╛рдо рддрдХ рдкрд╣реБрдБрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рдЙрдиреНрд╣реЗрдВ рдЗрд╕ рджрд╛рдпрд░реЗ рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ fpjsonrtti рдореЙрдбреНрдпреВрд▓ рд╕реЗ JSONToCollection рдлрд╝рдВрдХреНрд╢рди рд╕рд┐рд░реНрдл RTTI рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬреЛ рдХреНрд▓рд╛рд╕ рдЧреБрдгреЛрдВ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде JSON рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рдирд╛рдореЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИред

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


рдКрдкрд░ рдШреЛрд╖рд┐рдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдореБрдЦреНрдп рд╡рд░реНрдЧ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдЧрд╛:

  TEGRULStreamer = class(TInterfacedObject, IEGRULStreamer) private HTTPSender: THTTPSend; Doc: THTMLDocument; Inputs: TDOMNodeList; captchaURL, captchaToken, captcha, Params: string; function GetCaptchaToken: string; function GetLegalsList: TCollection; procedure PrepareHeaders; procedure ProcessCaptcha(CaptchaFunc: TCapthcaRecognizeFunc); public procedure GetExtractByOGRN(OGRN: string; CaptchaFunc: TCapthcaRecognizeFunc; isLegal: boolean; var Extract: TStream); procedure GetLegalsListByName(Name, Region: string; CaptchaFunc: TCapthcaRecognizeFunc; var LegalsList: TCollection); destructor Destroy; override; end; 


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

рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдЗрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдореБрдЦреНрдп рддрд░реАрдХреЗ рдЖрдо рддреМрд░ рдкрд░ рдХреЗрд╡рд▓ http-request рдкреИрд░рд╛рдореАрдЯрд░ рдФрд░ рд▓реМрдЯреЗ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдХреА рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдмрдирд╛рдХрд░ рднрд┐рдиреНрди рд╣реЛрдВрдЧреЗред

рд╡рд┐рдзрд┐ рдХреЛрдб TEGRULStreamer.GetExtractByOGRN
 procedure TEGRULStreamer.GetExtractByOGRN(OGRN: string; CaptchaFunc: TCapthcaRecognizeFunc; isLegal: boolean; var Extract: TStream); begin ProcessCaptcha(CaptchaFunc); if isLegal then Params := 'kind=ul' else Params := 'kind=fl'; Params += '&srchUl=ogrn&srchFl=ogrn&ogrninnul='; if isLegal then Params += OGRN; Params += '&namul=&regionul=&ogrninnfl='; if not isLegal then Params += OGRN; Params += '&fam=&nam=&otch=&region&captcha=' + captcha + '&captchaToken=' + captchaToken; WriteStrToStream(HTTPSender.Document, Params); if not HTTPSender.HTTPMethod('POST', EGRUL_URL) then raise Exception.Create('   '); HTTPSender.Headers.Clear; if HTTPSender.HTTPMethod('GET', TEGRULItem(GetLegalsList.Items[0]).GetPdfLink) then Extract := HTTPSender.Document else Extract := nil; 


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

рд╡рд┐рдзрд┐ рдХреЛрдб TEGRULStreamer.GetLegalsListByName
 procedure TEGRULStreamer.GetLegalsListByName(Name, Region: string; CaptchaFunc: TCapthcaRecognizeFunc; var LegalsList: TCollection); begin ProcessCaptcha(CaptchaFunc); Params := 'kind=ul&srchUl=name&srchFl=ogrn&ogrninnul=&namul='; Params += Name + '&regionul=' + Region + '&ogrninnfl=&fam=&nam=&otch=&region'; Params += '&captcha=' + captcha + '&captchaToken=' + captchaToken; WriteStrToStream(HTTPSender.Document, Params); if not HTTPSender.HTTPMethod('POST', EGRUL_URL) then raise Exception.Create('   '); LegalsList := GetLegalsList; end; 


рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рднреВрдорд┐рдХрд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

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

GetCaptchaToken - рдбреЛрдо рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдкреЗрдЬ рд╕реЗ рд╕рднреА рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ capthcaToken рдХреЗ рд╕рд╛рде рдПрдХ рдЫрд┐рдкреЗ рд╣реБрдП рдХреНрд╖реЗрддреНрд░ рдХреА рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрд╕рдХрд╛ рдореВрд▓реНрдп рд▓реМрдЯрд╛рддрд╛ рд╣реИред

GetLegalsList - RTTI рдлрд╝рдВрдХреНрд╢рди JSONToCollection рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд TEGRULItem рдХреА рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рджреЗрддрд╛ рд╣реИред

GetPdfLink - OGRN рдпрд╛ TIN рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд╣реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдХреЗрд╡рд▓ рдПрдХ рдкрд░рд┐рдгрд╛рдо рд╣рдореЗрд╢рд╛ рд▓реМрдЯрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЗрд╕рд▓рд┐рдП GetExtractByOGRN рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдкрд╣рд▓реЗ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

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

рдкрд░рд┐рдгрд╛рдореА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ рдЙрд╕рдХреЗ рдХреЛрдб рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдпрд╣рд╛рдВ рд╣реИ ред

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

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


рдкреАрдПрд╕ рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдЦрд░рдЧреЛрд╢ рдХреА рднреВрдорд┐рдХрд╛ рдХреЗ рд▓рд┐рдП Sberbank, рдФрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рд╕реИрдХрдбрд╝реЛрдВ рдмрд╛рд░ред рд╡рд┐рдЬреНрдЮрд╛рди рдХреЗ рдирд╛рдо рдкрд░, рдмрд┐рд▓реНрдХреБрд▓ред

Source: https://habr.com/ru/post/hi419063/


All Articles