hashbangcode/curl_converter

一个库,可以将curl命令转换为不同格式。

1.2.0 2023-12-02 23:20 UTC

This package is auto-updated.

Last update: 2024-09-03 01:12:33 UTC


README

将curl HTTP请求从一种格式转换为另一种格式。这允许解析各种类型的curl命令并以等效代码输出。

当前支持输入

  • Curl

当前支持输出

  • PHP代码

安装

composer require hashbangcode/curl_converter

用法

需要您的composer自动加载文件,然后。

    <?php
   
    use Hashbangcode\CurlConverter\Input\CurlInput;
    use Hashbangcode\CurlConverter\Output\PhpOutput;
    use Hashbangcode\CurlConverter\CurlConverter;
    
    $input = new CurlInput();
    $output = new PhpOutput();
    $converter = new CurlConverter($input, $output);
    
    $command = 'curl https://www.hashbangcode.com/';
    
    $converted = $converter->convert($command);

以下输出是由上述代码(包含在$result变量中)生成的。

    <?php
    $curl_handle = curl_init();
    curl_setopt($curl_handle, CURLOPT_URL, "https://www.example.com/");
    curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
    $result = curl_exec($curl_handle);
    if (curl_errno($curl_handle)) {
      echo 'Error:' . curl_error($curl_handle);
    }
    curl_close($curl_handle);

$result变量将包含curl请求的结果。

技术细节

为了允许格式从一种形式转换为另一种形式,使用了一个称为CurlParameters的底层对象。这个类可以与输出类一起使用,生成相同的结果,而无需解析curl命令输入。

    <?php
    
    use Hashbangcode\CurlConverter\Output\PhpOutput;
    use Hashbangcode\CurlConverter\CurlParameters;
    
    $output = new PhpOutput();
    $curlConverter = new CurlConverter();
    $curlConverter->setUrl('https://www.example.com/');
    $result = $output->convert($curlConverter);

$result参数现在包含curl请求的PHP代码。