php - 将此 curl 命令转换为 php curl
问题描述
我正在尝试编写一个 php 文件来使用将 html 转换为 pdf 的 docker 容器内的微服务。
我可以通过这种方式毫无问题地做到这一点:
curl -vv -F --output 'file=@/home/user/Documents/contract.html' http://0.0.0.0:32768/ -o /home/user/contract.pdf
现在我正在尝试在 php 文件中“翻译”这个命令,但这是我第一次在 php 中使用 curl。
//Initialise the cURL var
$ch = curl_init();
//Get the response from cURL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//Set the Url
curl_setopt($ch, CURLOPT_URL, 'http://0.0.0.0:32768/');
//Create a POST array with the file in it
$postData = array(
'testData' => '@/home/user/Documents/contract.html',
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
// Execute the request
$response = curl_exec($ch);
var_dump($response);
我缺少-o
命令的选项,将html文件转换为pdf后我应该得到的文件的路径和名称。
解决方案
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "curl%20-vv%20-F%20--output%20'file=@/home/user/Documents/contract.html'%20http://0.0.0.0:32768/%20-o%20/home/user/contract.pdf%0A%0A",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
推荐阅读
- javascript - 如何在跨浏览器扩展中操作 webRequest cookie?
- javascript - JavaScript | appendChild 到所有类
- angular - 使用快照或订阅从 Angular activeRoute 捕获查询参数的更好方法是什么?
- javascript - 材质 UI 网格 没有 ID 为 #undefined 的行
- snowflake-cloud-data-platform - 将过程信息记录到雪花表中
- python - Python:迭代类属性?
- python - Tkinter python,无法从缩放对象中获取值
- sql-server - 可以从 SQL Server 数据库中的存储过程运行 Linux 脚本吗?
- csv - ANSI 编码的 CSV 文件由 VSCode 以 UTF8 重新编码。如何回到ANSI?
- node.js - 使用 babel NodeJs 进行模块化