curl 转 PHP 转换器

在你的浏览器中即时将 curl 命令转换为 PHP cURL 代码。命令留在你的设备上。

你的 curl 命令在浏览器本地转换为 PHP,绝不会上传,但请避免将真实的生产令牌或凭据粘贴到任何工具中。

也需要一个 JavaScript 版本?试试 cURL 转 Fetch。

关于 curl 转 PHP

这款 curl 转 php 转换器会把一个 curl 命令转换为一份使用内置 cURL 扩展的 PHP 脚本,而这正是大多数 PHP 开发者调用 API 时常用的客户端。它会读取 -X、-H、-d、--data-raw、--json、-u、-b 和 -G 等标志,并生成一个通过单次 curl_setopt_array() 调用配置的 curl_init() 句柄,用 CURLOPT_HTTPHEADER 设置你的请求头、用 CURLOPT_POSTFIELDS 设置请求体。结果通过 CURLOPT_RETURNTRANSFER 返回响应并打印 HTTP 状态码,因此它能直接嵌入控制器、脚本或快速测试中。用它把一个终端里的 curl 请求迁移到 PHP 中,无需记住每一个 CURLOPT_ 常量。转换在你的浏览器中运行,因此命令及其中的任何令牌都在你的设备上本地处理,绝不会上传。

功能特性

如何使用 curl 转 PHP

  1. 将你的 curl 命令粘贴到 cURL 命令框中。
  2. 在输出面板中查看生成的 PHP cURL 脚本。
  3. 查看警告横幅,了解被调整或跳过的标志。
  4. 点击「复制」,或将文件下载为 request.php。

示例

输入

curl -X POST https://api.example.com/users \
  -H "Content-Type: application/json" \
  -d '{"name":"Ada"}'

输出

<?php

$ch = curl_init();

curl_setopt_array($ch, [
    CURLOPT_URL => 'https://api.example.com/users',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => [
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => '{"name":"Ada"}',
]);

$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo $status . "\n";
echo $response;

请求头变成一个 CURLOPT_HTTPHEADER 数组,请求体放进 CURLOPT_POSTFIELDS。

常见错误与故障排除

常见问题

如何将 curl 命令转换为 PHP?
将 curl 命令粘贴到输入框中,转换器会在右侧呈现一份 PHP cURL 脚本,你可以复制它或下载为 request.php。
输出使用 PHP cURL 扩展还是 Guzzle?
它使用原生的 PHP cURL 扩展(curl_init、curl_setopt_array、curl_exec),因此没有需要安装的 Composer 依赖。
请求头在 PHP 代码中如何表示?
每个 -H 请求头都会变成 CURLOPT_HTTPHEADER 数组中的一个 "Name: Value" 字符串,由 curl_setopt_array 传给句柄。
请求体在生成的 PHP 中放在哪里?
请求体被赋给 CURLOPT_POSTFIELDS,而 CURLOPT_CUSTOMREQUEST 携带 HTTP 方法,因此它适用于 POST、PUT、PATCH 和 DELETE。
我把 curl 转换为 PHP 时命令会被上传吗?
不会。curl 转 php 的转换完全在你的浏览器中运行,因此命令及其中的任何凭据都留在你的设备上。

相关工具

全部 ArrayKit 工具