Я пытаюсь инициировать автоматическую загрузку файла CSV из ServiceNow через URL.
Я могу вставить ссылку "https://<mycompany>.service-now.com/incident_list.do?CSV&sysparm_query=sys_updated_onBETWEENjavascript:gs.daysAgoStart(0)@javascript:gs.daysAgoEnd(0)&sysparm_orderby=sys_updated_on"
в браузер и автоматически загрузить файл CSV. Я хочу автоматизировать это. Я пробовал javascript, но не обходил ту же политику происхождения. Я пытаюсь PHP CURL со следующим кодом.
<code><?php
include 'credentials.php';
function get_web_page( $url)
{
$header = array('content-type: application/x-www-form-urlencoded');
global $user;
global $pass;
$options = array(
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true, // return web page
CURLOPT_HEADER => false, // don't return headers
CURLOPT_FOLLOWLOCATION => true, // follow redirects
CURLOPT_ENCODING => "", // handle all encodings
CURLOPT_USERAGENT => "spider", // who am i
CURLOPT_AUTOREFERER => true, // set referer on redirect
CURLOPT_CONNECTTIMEOUT => 120, // timeout on connect
CURLOPT_TIMEOUT => 120, // timeout on response
CURLOPT_MAXREDIRS => 10, // stop after 10 redirects
CURLOPT_SSL_VERIFYPEER => false, // Disabled SSL Cert checks
CURLOPT_HTTPHEADER => array('content-type: application/x-www-form-urlencoded'),
CURLOPT_USERPWD => "$user:$pass"
);
$ch = curl_init( $url );
curl_setopt_array( $ch, $options );
$content = curl_exec( $ch );
$err = curl_errno( $ch );
$errmsg = curl_error( $ch );
$header = curl_getinfo( $ch );
curl_close( $ch );
$header['errno'] = $err;
$header['errmsg'] = $errmsg;
$header['content'] = $content;
return $header;
}
$Content_Array = array();
$url = 'https://<mycompany>.service-now.com/incident_list.do?CSV&sysparm_query=sys_updated_onBETWEENjavascript:gs.daysAgoStart(0)@javascript:gs.daysAgoEnd(0)&sysparm_orderby=sys_updated_on';//
echo '<hr>'.$url.'<hr>';
$page = get_web_page( $url );
echo $content = $page['content'];
echo '<pre>';
print_r($page);
echo '
';
?>
Это возвращает массив информации, но не то, что мне нужно, и ничего не загружает. Надеюсь, мне просто не хватает чего-то простого