Has anyone managed to consult Sinesp, via php? I'm trying to put this code to work without success.
$placa = 'KCK2486';
$request = '<?xml version="1.0" encoding="utf-8" standalone="yes" ?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ><soap:Header><dispositivo>GT-S1312L</dispositivo><nomeSO>Android</nomeSO><versaoAplicativo>1.1.1</versaoAplicativo><versaoSO>4.1.4</versaoSO><aplicativo>aplicativo</aplicativo><ip>177.206.169.90</ip><token>5021719229f7ddad0c786542da534ad0375f021f</token><latitude>-3.6770324</latitude><longitude>-38.6791411</longitude></soap:Header><soap:Body><webs:getStatus xmlns:webs="http://soap.ws.placa.service.sinesp.serpro.gov.br/"><placa>'.$placa.'</placa></webs:getStatus></soap:Body></soap:Envelope>';
$header = array(
"Content-type: application/x-www-form-urlencoded; charset=UTF-8",
"Accept: text/plain, */*; q=0.01",
"Cache-Control: no-cache",
"Pragma: no-cache",
"x-wap-profile: http://wap.samsungmobile.com/uaprof/GT-S7562.xml",
"Content-length: ".strlen($request),
"User-Agent: Mozilla/5.0 (Linux; U; Android 4.1.4; pt-br; GT-S1162L Build/IMM76I) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
);
$soap_do = curl_init();
curl_setopt($soap_do, CURLOPT_URL, "http://sinespcidadao.sinesp.gov.br/sinesp-cidadao/ConsultaPlacaNovo27032014" );
curl_setopt($soap_do, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($soap_do, CURLOPT_TIMEOUT, 10);
curl_setopt($soap_do, CURLOPT_RETURNTRANSFER, true );
curl_setopt($soap_do, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($soap_do, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($soap_do, CURLOPT_POST, true );
curl_setopt($soap_do, CURLOPT_POSTFIELDS, $soap_request);
curl_setopt($soap_do, CURLOPT_HTTPHEADER, $header);
$res = curl_exec($soap_do);
if($res === false)
{
$err = 'Curl erro: ' . curl_error($soap_do);
curl_close($soap_do);
print $err;
}
else
{
echo $res;
curl_close($soap_do);
print 'Ocorreu um erro...';
}
The above code did not work, or I could not get it to work, and I'm now investing in the code below that, like the other one, is not working either, but it seems to be less complex. Can you help me identify your bugs?
<?
$placa = 'ABC1234';
//chave do service
$chave = 'shienshenlhq';
//token para funcionamento
$token = hash_hmac('sha1', $placa, $chave, false);
//ramdom de ip para dificultar rastreamento
$random_ip = (string)mt_rand(1,255).".".mt_rand(0,255).".".mt_rand(0,255).".".mt_rand(0,255);
//criação estática de um xml com as informacoes para resgate
$data = 'GT-S1312L';
$data .= 'Android';
$data .= '1.1.1';
$data .= '4.1.4';
$data .= 'aplicativo';
$data .= '' . $random_ip . '';
$data .= '' . $token . '';
$data .= '' . (( 20000/111000.0 * sqrt(rand(1,1000)) ) * sin(2 * 3.141592654 * rand(1,1000)) + -38.5290245) . '';
$data .= '' . (( 20000/111000.0 * sqrt(rand(1,1000)) ) * cos(2 * 3.141592654 * rand(1,1000)) + -3.7506985) . '';
$data .= '' . $placa . '';
//inicia curl
$ch = curl_init();
//define para onde serao enviados
curl_setopt($ch, CURLOPT_URL, 'http://sinespcidadao.sinesp.gov.br/sinesp-cidadao/ConsultaPlacaNovo27032014');
//define que o conteúdo obtido deve ser retornado em vez de exibido
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//define que recebera posts
curl_setopt($ch, CURLOPT_POST, true);
//define os campos a serem postados
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
//envia
$retorno_curl = curl_exec($ch);
//encerra
curl_close($ch);
//retira o a tag return e seu conteudo, será enviado para retorno[0]
if(preg_match('/\(.*?)\/', utf8_encode($retorno_curl), $retorno)){
$dom = new DOMDocument();
//coloca o conteudo da tag return para ser tratado como xml
$dom->loadXML($retorno[0]);
//converte seu conteudo como objeto
$elemento = simplexml_import_dom($dom);
echo $elemento;
}else{
echo "ERRO!";
}