Можно ли получить команду cURL от объекта PHP? Я имею в виду, сделать это:
$ch = curl_init('http://'.$host . $url);
//...
$response = curl_exec($ch);
Выглядеть так:
curl -X POST -d http://www.google.com/
Является ли это возможным? Есть трюк или нативный метод?
Невозможно получить эквивалент командной строки (опции) для запуска инструмента curl
из библиотеки PHP cURL
,
Использование инструмента и библиотеки PHP libcurl
для выполнения передачи URL-адресов на стороне клиента, которая является C-библиотекой. Но это все. Скорее всего, у вас есть PHP-эквивалент для большинства curl
варианты доступны в cURL
Однако это не правило.
Я не думаю, что вы просто хотели бы делать запросы из вашего приложения, используя curl
, если вы хотите, вы будете использовать библиотеки PHP. Тем не менее, нет простого способа получить то, что вы хотите. Вероятно, вам нужно будет построить команду в виде строки. Что-то вроде этого:
function getCurlCommand($url, $method = 'GET', array $params = null /* , ... */ )
{
$cmd = 'curl';
$params = [];
if ($method !== 'GET') {
$params[] = '-X ' . $method;
}
if ($data !== null) {
$params[] = '-d ' . http_build_query($data);
}
// ...
return $cmd . ' ' . implode(' ', $params) . ' ' . $url;
}
Других решений пока нет …