Совсем коротка заметка, но может много кому пригодиться.
Возникла задача импортировать каталог со стороннего ресурса, и там используется авторизация. Простой запрос по УРЛу типа protocol://user:pass@host/path/ не прошел. Вот решил заюзать для этого родной MODX-овый cURL-клиент. Оказалось все очень просто:
$filename = 'test.txt';
$path = MODX_BASE_PATH;
$file = "{$path}{$filename}";
$user = 'user';
$pass = 'xxx';
$url = 'http://some.host';
$url_path = "/export/v2/catalogue/{$filename}";
$client = $modx->getService('rest.modRestCurlClient');
if(
$result = $client->request($url, "/export/v2/catalogue/{$filename}", 'GET', array(), $params = array(
modRestClient::OPT_USERPWD => "{$user}:{$pass}",
))
AND file_put_contents($file, $result)
){
print_r($result); // Debug
}
else{
print "Не удалось скачать файл"
}