Search the Community
Showing results for tags 'mfinante'.
-
Salutare! Acum 2 zile m-am apucat s? lucrez la o aplica?ie pentru iOS care s? afi?eze informa?ii despre o firm? anume, foarte util? pentru detectarea "firmelor fantom?" sau ob?inerea datelor despre o anumit? societate comercial?. Nu este chiar un tutorial de "hacking", pentru c? datele sunt publice ?i pot fi accesate de pe site-ul ministerului de finante. Problema apare în momentul în care dore?ti s? ob?ii aceste date în mod programatic, deoarece site-ul ministerului nu ofer? un API pentru programatori, ba chiar mai r?u, prezint? un captcha la solicitarea datelor. Screenshot: Desigur, primul meu gând a fost un captcha solver, dar nu este o solu?ie prea practic?. A?a c? m-am mai jucat pu?in, am mai întrebat pe diverse site-uri ?i am descoperit o alternativ?. Inspectând sursa paginii mfinante[punct]ro/agenticod.html observ?m c? formularul este procesat de pagina infocodfiscal.html iar parametrul pentru cif cod. Surpriza a ap?rut în momentul în care am descoperit c? cif-ul poate fi transmis ?i prin GET, iar în acest caz captcha-ul, nu mai este necesar. A?adar, datele pentru o firm? pot fi ob?inute accesând mfinante[punct]ro/infocodfiscal.html?cod=cifulfirmei. R?mâne o singur? problem? - în momentul în care vrem s? facem un request folosind cURL, suntem redirec?iona?i c?tre o pagin? care ne aten?ioneaz? c? trebuie s? avem javascript activat. Folosind o extensie pentru chrome, cum ar fi Postman, observ?m c? se mai transmit câ?iva parametrii prin POST: 'TS018732dc_id' => 3, 'TS018732dc_cr' => 'SESSIONID', 'TS018732dc_76' => 0, 'TS018732dc_86' => 0, 'TS018732dc_md' => 1, 'TS018732dc_rf' => 0, 'TS018732dc_ct' => 0, 'TS018732dc_pd' => 0 Parametrul TS018732dc_cr con?ine ID-ul de sesione, îl putem l?sa la varianta din Postman, datele vor fi afi?ate chiar dac? sesiunea a expirat. Asta e tot! Acum putem accesa pagina prin cURL ?i extrage datele folosind un DOM parser, gen DOMDocument dac? folosim php. Lista de bilan?uri poate fi ob?inut? dintr-un comment de deasupra op?iunilor pentru a nu fi nevoi?i s? pars?m fiecare op?iune. Dup? ce a?i ob?inut datele, aceste pot fi serializate în format JSON, XML sau orice alt format dori?i pentru a fi accesate de site-ul sau aplica?ia voastr?. Dac? dori?i s? pute?i c?uat dup? numele firmei, va trebui s? desc?rca?i ni?te csv-uri de pe data[punct]gov[punct]ro, ?terge?i toate coloanele în afar? de numele firmei ?i cif ?i le b?ga?i într-o baz? de date. Sper c? v-a fost util acest tutorial!