fhferreira / sintegra-cnpj-sp-gratis
Package com Crawler para extração gratuita de dados utilizando CNPJ's diretamente no site do sintegra de sp.
dev-master / 1.0.x-dev
2015-06-17 04:00 UTC
Requires
- php: >=5.4.0
- fabpot/goutte: 2.0.*@dev
- jansenfelipe/utils: 1.0.*@dev
Requires (Dev)
- phpunit/phpunit: ~4.0
This package is auto-updated.
Last update: 2024-12-08 04:48:10 UTC
README
##Extração de dados Sintegra
###Package com Crawler para extração gratuita de dados utilizando CNPJ's diretamente no site do sintegra de sp.
####Módulo baseado no formato utilizado por JansenFelipe para extração no site da Receita, por meio do CPF e CNPJ.
<?php //Captura dos dados e cookie $params = \Fhferreira\SintegraCnpjSpGratis\SintegraCnpjSpGratis::getParams(); //Envio dos Dados via POST e captura da Resposta $returnCrawler = \Fhferreira\SintegraCnpjSpGratis\SintegraCnpjSpGratis::consulta( $_POST['cnpj'], null, $_POST['paramBot'], $_POST['captcha'], $_POST['cookie'] );
Exemplo utilizando Silex + Twig
<?php $app->get('/cnpj-sintegra-sp', function() use($app) { $cnpj = $app['session']->getFlashBag()->get('cnpj'); $cnpj = count($cnpj)?$cnpj[0]:''; $ie = $app['session']->getFlashBag()->get('ie'); $ie = count($ie)?$ie[0]:''; $params = \Fhferreira\SintegraCnpjSpGratis\SintegraCnpjSpGratis::getParams(); return $app['twig']->render('cnpj/form-sintegra.twig', compact('cnpj', 'ie', 'params')); }); $app->post('/cnpj-sintegra-sp', function() use($app, $environment) { try { $return = \Fhferreira\SintegraCnpjSpGratis\SintegraCnpjSpGratis::consulta($_POST['cnpj'],$_POST['ie'],$_POST['paramBot'],$_POST['captcha'], $_POST['cookie']); } catch(\Exception $e) { $app['session']->getFlashBag()->add('message', $e->getMessage() );//. ' \nLine:' . $e->getLine(). ' \nFile:' . $e->getFile() . "\n" . $e->getTraceAsString() $app['session']->getFlashBag()->add('cnpj', $_POST['cnpj']); $app['session']->getFlashBag()->add('ie', $_POST['ie']); return $app->redirect('/cnpj-sintegra-sp'); } header('Content-Type: application/json'); //foreach($return as $k => $v) { // $return[$k] = encodeToUtf8($v); //} echo json_encode(($return)); die(); }); ?>
##View
{# views/cnpj/form-sintegra.twig #} {% extends 'layout.twig' %} {% block title %}Consulta CNPJ Sintegra{% endblock %} {% block body %} <form action="" method="POST"> <img src="{{ params['captchaBase64'] }}" class="img-thumbnail" /> <br/><br/> {% for message in app.session.getFlashBag.get('message') %} <span style="color:red;font-size:20px;">{{ message }}</span> <br/> {% endfor %} <input type="hidden" name="cookie" value="{{ params['cookie'] }}" /> <input type="hidden" name="paramBot" value="{{ params['paramBot'] }}" /> <div class="form-group"> <input type="text" name="captcha" placeholder="Captcha" required="required" class="form-control"/> <p class="help-block">Digite corretamente o captcha.</p> </div> <div class="form-group"> <input type="text" name="cnpj" id="cnpj" placeholder="Cnpj" required="required" class="form-control" value="{{ cnpj?:'' }}" /> <p class="help-block">Digite corretamente o CNPJ.</p> </div> <input type="submit" value="Consultar" class="btn btn-success" /> </form> {% endblock %}
##Blade + Lumen/Laravel
$app->get('/cnpj-sintegra-sp', "App\Http\Controllers\CnpjSintegraController@getForm"); $app->post('/cnpj-sintegra-sp', "App\Http\Controllers\CnpjSintegraController@postForm");
<?php namespace App\Http\Controllers; use DB; use Session; class CnpjSintegraController extends Controller { public function getForm() { $cnpj = session('cnpj'); $ie = session('ie'); $params = \Fhferreira\SintegraSpGratis\SintegraSpGratis::getParams(); return view('cnpj.form-sintegra', compact('cnpj', 'ie', 'params')); } public function postForm() { try { $returnCrawler = \Fhferreira\SintegraSpGratis\SintegraSpGratis::consulta($_POST['cnpj'],$_POST['ie'],$_POST['paramBot'],$_POST['captcha'], $_POST['cookie']); } catch(\Exception $e) { Session::flash('message', $e->getMessage() ); Session::flash('cnpj', $_POST['cnpj']); return redirect('/cnpj-sintegra-sp'); } return $returnCrawler; } }
@extends("layout") @section("title") Consulta CNPJ Sintegra @stop @section("body") <form action="" method="POST"> <img src="{{ $params['captchaBase64'] }}" class="img-thumbnail" /> <br/><br/> @if(Session::has("message")) <span style="color:red;font-size:20px;">{{ Session::get("message") }}</span> <br/> @endif <input type="hidden" name="cookie" value="{{ $params['cookie'] }}" /> <input type="hidden" name="paramBot" value="{{ $params['paramBot'] }}" /> <div class="form-group"> <input type="text" name="captcha" placeholder="Captcha" required="required" class="form-control"/> <p class="help-block">Digite corretamente o captcha.</p> </div> <div class="form-group"> <input type="text" name="cnpj" id="cnpj" placeholder="Cnpj" required="required" class="form-control" value="{{ $cnpj?:'' }}" /> <p class="help-block">Digite corretamente o CNPJ.</p> </div> <!-- <div class="form-group"> <input type="text" name="ie" placeholder="Inscrição Estadual" class="form-control" value="{{ $ie }}" /> <p class="help-block">Digite corretamente o IE.</p> </div> //--> <input type="hidden" name="ie"/> <input type="submit" value="Consultar" class="btn btn-success" /> </form> @stop @section("onload") //$('#cnpj').mask("99.999.999/9999-99"); @stop