Tak na szybko napisałeś coś takiego:
klasa używa do łączenia się przez curla tego wrappwera:
https://github.com/php-curl-class/php-curl-class
require './Curl/Curl.php';
use \Curl\Curl;
/**
* @author john zuk <[email protected]>
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
*/
class Gus
{
private $captachFileName = 'captach.jpeg';
private $loginUrl = 'https://wyszukiwarkaregon.stat.gov.pl/wsBIR/UslugaBIRzewnPubl.svc/ajaxEndpoint/Zaloguj';
private $getCaptachUrl = 'https://wyszukiwarkaregon.stat.gov.pl/wsBIR/UslugaBIRzewnPubl.svc/ajaxEndpoint/PobierzCaptcha';
private $checkCaptachUrl = 'https://wyszukiwarkaregon.stat.gov.pl/wsBIR/UslugaBIRzewnPubl.svc/ajaxEndpoint/SprawdzCaptcha';
private $searchDataUrl = 'https://wyszukiwarkaregon.stat.gov.pl/wsBIR/UslugaBIRzewnPubl.svc/ajaxEndpoint/daneSzukaj';
private $getComplexDataUrl = 'https://wyszukiwarkaregon.stat.gov.pl/wsBIR/UslugaBIRzewnPubl.svc/ajaxEndpoint/DanePobierzPelnyRaport';
private $loginData = array("pKluczUzytkownika" => "aaaaaabbbbbcccccdddd");
public function __construct()
{
session_start();
}
public function login()
{
$_SESSION['time'] = time();
$curl = new Curl();
$curl->setHeader('Content-Type', 'application/json');
$curl->post($this->loginUrl, json_encode($this->loginData));
$_SESSION['sid'] = $curl->response->d;
$curl->close();
}
public function getCaptach()
{
$curl = new Curl();
$curl->setHeader('Content-Type', 'application/json');
$curl->setHeader('sid', $_SESSION['sid']);
$curl->post($this->getCaptachUrl, '');
$image = fopen($this->captachFileName,'w+');
fwrite($image, base64_decode($curl->response->d));
fclose($image);
$curl->close();
}
public function checkCaptach($captach)
{
$curl = new Curl();
$curl->setHeader('Content-Type', 'application/json');
$curl->setHeader('sid', $_SESSION['sid']);
$curl->post($this->checkCaptachUrl, json_encode(array('pCaptcha'=>$captach)));
$curl->close();
return $curl->response->d;
}
public function getNipInfo($nip)
{
$regon = $this->getInfo($nip);
$searchData = array(
'pNazwaRaportu'=>'DaneRaportPrawnaPubl',
'pRegon' => $regon[0]->Regon,
'pSilosID' => 0
);
$curl = new Curl();
$curl->setHeader('Content-Type', 'application/json');
$curl->setHeader('sid', $_SESSION['sid']);
$curl->post($this->getComplexDataUrl, json_encode($searchData));
$curl->close();
$response = json_decode($curl->response->d);
return $response[0];
}
private function getInfo($nip)
{
$searchData = array(
'jestWojPowGmn' => true,
'pParametryWyszukiwania' => array(
'AdsSymbolGminy' => null,
'AdsSymbolMiejscowosci' => null,
'AdsSymbolPowiatu' => null,
'AdsSymbolUlicy' => null,
'AdsSymbolWojewodztwa' => null,
'Dzialalnosci' => null,
'FormaPrawna' => null,
'Krs' => null,
'Krsy' => null,
'NazwaPodmiotu' => null,
'Nip' => $nip,
'Nipy' => null,
'NumerwRejestrzeLubEwidencji' => null,
'OrganRejestrowy' => null,
'PrzewazajacePKD' => false,
'Regon' => null,
'Regony14zn' => null,
'Regony9zn' => null,
'RodzajRejestru' => null
)
);
$curl = new Curl();
$curl->setHeader('Content-Type', 'application/json');
$curl->setHeader('sid', $_SESSION['sid']);
$curl->post($this->searchDataUrl, json_encode($searchData));
$curl->close();
return json_decode($curl->response->d);
}
}
$Gus = new Gus();
if(isset($_POST['captach'])){
if($Gus->checkCaptach($_POST['captach']))
{
echo 'capta ok!';
echo '<pre>';
var_dump($Gus->getNipInfo('5250010976'));
echo '</pre>';
}
else{
echo 'capta error';
$Gus->login();
$Gus->getCaptach();
echo '<img src="captach.jpeg">';
echo '<form action="" method="POST">';
echo '<input type="text" name="captach" >';
echo '<input type="submit" value="Chceck">';
echo '</form>';
}
}
else{
$Gus->login();
$Gus->getCaptach();
echo '<img src="captach.jpeg">';
echo '<form action="" method="POST">';
echo '<input type="text" name="captach" >';
echo '<input type="submit" value="Chceck">';
echo '</form>';
}