cURL 中的 CURLOPT_POSTFIELDS 和 POST 数据格式
使用 cURL 进行 POST 请求时,通过 CURLOPT_POSTFIELDS 发布的数据格式取决于的性质data.
字符串数据:
如果发送字符串,例如“first=John&last=Smith”,则必须使用 urlencode() 对其进行编码。这可以防止与符号 (&) 等字符干扰数据传输。
数组数据:
对于数组数据,cURL 会自动将 Content-Type 标头设置为 multipart /form-data,这对于发送多部分表单数据至关重要。数组中的每个键值对对应一个表单字段及其值。
例如,如果您有一个数组 $data = ['first' =>; '约翰', '最后' => 'Smith'],您可以按如下方式设置 CURLOPT_POSTFIELDS:
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
cURL 将自动生成必要的多部分表单数据编码。
辅助函数:
您可以使用以下方法简化构建数组数据查询字符串的过程http_build_query() 函数:
$query = http_build_query($data, '', '&'); curl_setopt($ch, CURLOPT_POSTFIELDS, $query);
以上是CURLOPT_POSTFIELDS 如何处理 cURL POST 请求中的字符串和数组数据?的详细内容。更多信息请关注PHP中文网其他相关文章!