3

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

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

看起来像这样:

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

可能吗?有技巧或本机方法吗?

4

1 回答 1

2

无法curl从 PHP 库获取命令行等效项(选项)来执行该工具cURL

工具和 PHP 库都libcurl用于执行客户端 URL 传输,这是一个 C 库。但仅此而已。很可能您对 中可用的大多数curl选项都有一个 PHP 等效项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;
}
于 2015-09-18T12:34:27.490 回答