【问题标题】:How do I post a form with radio buttos in cURL?如何在 cURL 中发布带有单选按钮的表单?
【发布时间】:2018-04-20 09:15:04
【问题描述】:

服务器站点中的表单包含一个文本框、两个单选按钮和一个提交按钮。这是我试过的。请帮忙。

        $url = "Url goes here";

        $ch = curl_init();

        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, "{\"postcode\":\"3150\", \"customerType\":\"Residential\",\"fuelType\":\"Electricity\"}");
        curl_setopt($ch, CURLOPT_POST, 1);

        $headers = array();
        $headers[] = "Content-Type: application/x-www-form-urlencoded";
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

        $result = curl_exec($ch);
        if (curl_errno($ch)) {
            echo 'Error:' . curl_error($ch);
            echo "test";
        }

        echo "<pre>";
        print_r($result);
        echo "</pre>";

        curl_close($ch);
    }

    ?>

【问题讨论】:

  • 你发布元素的值,就像任何其他元素一样。它们是参数。尝试将其与表单部分分开-您不是在使用表单,而是在使用 cURL。表单只是生成 HTTP 请求的一种方式。您要模拟的是表单生成的 HTTP 请求。您可以使用浏览器的开发人员工具查看表单生成的请求,然后您可以编写一些 cURL 以生成相同格式的请求。
  • 上面一个非常明显的问题是您试图在单个字符串中提交(转义)JSON,而不是单独的参数。 Curl 将允许您指定单个参数。我认为您还没有了解您使用的数据格式,或者阅读 cURL 文档以了解如何指定各个参数。

标签: php curl post


【解决方案1】:

它就像一个文本值。

找到这些电台的名称,检查你想要的值。

例子:

<form>
    <input type="radio" name="gender" value="male" checked> Male<br>
    <input type="radio" name="gender" value="female"> Female<br>
    <input type="radio" name="gender" value="other"> Other  
</form>

您的 cURL Postfield 应该如下所示:

$data = array('gender' => 'male');
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

【讨论】:

    猜你喜欢
    • 2013-03-31
    • 2017-05-27
    • 1970-01-01
    • 2012-10-24
    • 2012-07-19
    • 1970-01-01
    • 1970-01-01
    • 2020-05-27
    • 1970-01-01
    相关资源
    最近更新 更多