You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将HTML表单字段值传入CURLOPT_POSTFIELDS的JSON参数

具体实现方法

一、HTML表单部分

先编写包含文本输入框和提交按钮的表单,通过POST方法将数据提交到指定PHP处理文件:

<form method="POST" action="curl-handler.php">
    <label for="username">输入名称:</label>
    <input type="text" id="username" name="username" required>
    <button type="submit">提交</button>
</form>

给输入框设置name="username",是为了PHP能通过$_POST['username']直接获取用户输入的值。

二、PHP处理逻辑(curl-handler.php)

在PHP文件中接收表单参数,构造包含name字段的JSON结构,再通过CURL发送POST请求:

<?php
// 验证请求方式和参数是否存在
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['username'])) {
    // 获取并清洗用户输入的名称
    $userInputName = trim($_POST['username']);

    // 构造目标JSON结构
    $postData = [
        'name' => $userInputName
    ];
    // 转换为JSON字符串
    $jsonPostData = json_encode($postData);

    // 初始化CURL
    $ch = curl_init();

    // 配置CURL参数
    curl_setopt($ch, CURLOPT_URL, 'https://目标接口地址.com/api'); // 替换为实际请求的接口URL
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonPostData);
    // 设置请求头,告知接口接收JSON格式数据
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Content-Type: application/json',
        'Content-Length: ' . strlen($jsonPostData)
    ]);
    // 执行请求并获取响应
    $response = curl_exec($ch);

    // 捕获CURL错误
    if (curl_errno($ch)) {
        echo 'CURL错误:' . curl_error($ch);
    }

    // 释放CURL资源
    curl_close($ch);

    // 输出接口响应(可选)
    echo '接口响应:' . $response;
} else {
    echo '请通过表单提交有效数据';
}
?>

关键细节说明:

  • trim($_POST['username']):去除输入内容首尾空格,避免无效字符干扰。
  • json_encode($postData):将关联数组转为JSON字符串,因为CURLOPT_POSTFIELDS需要字符串格式的JSON数据。
  • CURLOPT_HTTPHEADER:必须设置Content-Type: application/json,否则目标接口可能无法正确解析提交的JSON数据。

内容的提问来源于stack exchange,提问作者worldprogram2020

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 01:52:33