【问题标题】:Command line curl to PHP curl and PHP curl returning blank file命令行 curl 到 PHP curl 和 PHP curl 返回空白文件
【发布时间】:2013-08-25 03:18:40
【问题描述】:

我想使用此网站https://ebookglue.com/docs 的 API 将 .html 文件转换为 .epub 文件 他们在命令行 curl 中有示例,但我想使用 PHP curl 并且不知道如何将其正确转换为 PHP curl

这里是命令行 curl

curl -o converted.epub \
-F "token=your-api-key" \
-F "file=@index.html" \
https://ebookglue.com/convert

这是我到目前为止所得到的,它不起作用并返回空白 dat.epub 文件

$token  =    "token";
$tmpfile = $_FILES['file']['tmp_name'];
$filename = basename($_FILES['file']['name']);

$data = array(
    'token'  => $token,
    'file'          =>  '@'.$tmpfile.';filename='.$filename,
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://ebookglue.com/convert");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HEADER, 0);
$out = curl_exec($ch);
curl_close($ch);
$fp = fopen('data.epub', 'w');
fwrite($fp, $out);
fclose($fp);

【问题讨论】:

    标签: php curl command-line


    【解决方案1】:

    您没有设置 POST 选项:

    curl_setopt($ch, CURLOPT_POST, 1);
    

    如果这不起作用:

    我注意到您正在通过 SSL 进行连接。除非您已对所有证书进行排序,否则请尝试此操作

    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    

    但请仔细阅读这意味着什么。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-18
      • 2017-06-29
      • 1970-01-01
      • 1970-01-01
      • 2012-09-06
      • 1970-01-01
      相关资源
      最近更新 更多