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

如何将带-F参数的Mailgun cURL请求转换为PHP脚本?

解决cURL到PHP的转换问题:处理-F表单参数

没问题,我来帮你搞定这个转换!你提到的-F address='bob@example.com'是cURL里用来发送multipart/form-data格式的POST表单数据的参数,而你原来的PHP代码用的是GET请求,所以需要调整几个关键的curl选项来匹配这个逻辑。

修改后的完整PHP代码

<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://api.mailgun.net/v3/YOUR_DOMAIN_NAME/bounces");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// 将请求方法从GET改为POST(因为-F对应POST表单提交)
curl_setopt($ch, CURLOPT_POST, true);
// 设置表单数据,对应cURL里的-F参数
curl_setopt($ch, CURLOPT_POSTFIELDS, [
    'address' => 'bob@example.com'
]);
curl_setopt($ch, CURLOPT_USERPWD, "api" . ":" . "API_KEY");

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

// 可选:打印返回结果查看接口响应
print_r($result);
?>

关键修改说明

  • 请求方法切换:原代码用的是CURLOPT_CUSTOMREQUEST, "GET",但-F参数默认会让cURL发送POST请求,所以我们改成CURLOPT_POST, true(比手动设置CUSTOMREQUEST更规范,也更贴合cURL的原生行为)。
  • 表单数据传递:CURLOPT_POSTFIELDS接收数组格式的参数,数组的键值对就对应cURL里的-F参数(这里address是键,bob@example.com是值)。PHP会自动把这个数组编码成multipart/form-data格式,和cURL的-F行为完全一致。
  • 扩展性提示:如果后续需要添加更多-F参数,只需要在CURLOPT_POSTFIELDS的数组里继续添加键值对就行,比如-F reason='invalid_email'就对应'reason' => 'invalid_email'。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:09:34