从PHP's对象中获取cURL命令


Get a cURL command from the PHP's object

是否可以从PHP的对象中获得cURL命令?我的意思是,让这个:

$ch = curl_init('http://'.$host . $url);
//...
$response = curl_exec($ch);

看起来像这样:

curl -X POST -d http://www.google.com/

有可能吗?有什么诀窍或固有方法吗?

不可能从PHP库cURL中获得等价的命令行(选项)来执行工具curl

工具和PHP库都使用libcurl来执行客户端URL传输,这是一个C库。但仅此而已。很可能您在cURL中有一个与大多数curl相同的PHP选项,但是,这不是一个规则。

我不认为你只是想做请求从你的应用程序使用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;
}