14.09.2021 21:50
1
Zdravím, pomocí CURL jsem chtěl ověřovat vozidla na webu https://portaldopravy.cz/taxi/overeni-spz, ale vždy se mi vrací jen prázdná stránka. Mohl by mi prosím někdo poradit, kde je chyba. Využívám níže uvedený kod. Děkuji

Kód:
<?
$POST_DATA = array(
  'registration_plates%5B%5D' =>  '8B16043',
   'control_intermediary' => 'false',
   'ico' => ''
 );
 $curl = curl_init();
 curl_setopt($curl, CURLOPT_URL, 'https://portaldopravy.cz/taxi/overeni-spz/verification/');
 curl_setopt($curl, CURLOPT_TIMEOUT, 30);
 curl_setopt($curl, CURLOPT_POST, 1);
 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
 curl_setopt($curl, CURLOPT_POSTFIELDS, $POST_DATA);
 curl_setopt($curl, CURLOPT_VERBOSE,true);
 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,  false);
 $info = curl_getinfo($curl);
 $error    = curl_error($curl);
 $response = curl_exec($curl);
 curl_close ($curl);
 
var_dump($response);
?>
15.09.2021 09:02
2
Je vyzadovana hlavicka, pridej tento radek:

curl_setopt($curl, CURLOPT_HTTPHEADER, array("X-Requested-With: XMLHttpRequest"));
15.09.2021 16:05
3
Zkusil jsem, ale nepomohlo.
15.09.2021 16:29
4
Mohou kontrolovat cookie, user agenta, origin, referer, různé kombinace informací.
Můžeš kouknout v browser console, jaká data posílá normální formulář a zkusit odeslat odbdobně přes CURL.
Myslím ale, že to není přímo API pro strojové zpracování dat a budou se tomu asi bránit (otázka podmínek).
15.09.2021 16:40
5
Mhm, tak nakonec ty entity delaji problem ... na localu to frci

PHP kód:
  
header
('Content-Type: text/html; charset=utf-8'); // spravne kodovani

$POST_DATA = array(
  
'registration_plates[]' =>  '8B16043'// zrusene entity
  
'control_intermediary' => 'false',
  
'ico' => ''
 
);

$curl curl_init();
curl_setopt($curlCURLOPT_URL'https://portaldopravy.cz/taxi/overeni-spz/verification/');
curl_setopt($curlCURLOPT_TIMEOUT30);
curl_setopt($curlCURLOPT_POST1);
curl_setopt($curlCURLOPT_RETURNTRANSFERtrue);
curl_setopt($curlCURLOPT_HTTPHEADER, array("X-Requested-With: XMLHttpRequest")); // hlavicka
curl_setopt($curlCURLOPT_POSTFIELDS$POST_DATA);
curl_setopt($curlCURLOPT_VERBOSE,true);
curl_setopt($curlCURLOPT_SSL_VERIFYPEERfalse);
curl_setopt($curlCURLOPT_SSL_VERIFYHOST,  false);
$info curl_getinfo($curl);
$error    curl_error($curl);
$response =  curl_exec($curl);
curl_close ($curl); 

var_dump($response); 
15.09.2021 19:48
6
Děkuji