You need to enable JavaScript to run this app. 如何将Sendle API curl调用转为PHP代码 配置-u、-H的curl_setopt
优惠活动
大模型
产品
解决方案
定价
更多

如何将Sendle API curl调用转为PHP代码 配置-u、-H的curl_setopt

命令行curl参数与PHP cURL配置的对应逻辑
  • -u sendleID:APIKey 是curl内置的HTTP Basic身份认证参数,对应curl_setopt()的CURLOPT_USERPWD配置项,直接传账号:密钥格式的字符串即可,不需要手动拼接认证头。
  • -H "请求头内容" 是自定义HTTP请求头参数,对应curl_setopt()的CURLOPT_HTTPHEADER配置项,传数组,每个数组元素对应一条完整的请求头字符串,和命令行里-H传的内容保持一致即可。
  • 因为目标接口是HTTPS地址,且需要拿到接口返回值做后续处理,必须加上CURLOPT_RETURNTRANSFER = true的配置,不然curl会直接把响应打印到屏幕,没法获取返回内容做判断,和命令行的输出逻辑保持一致。
可直接运行的转换后代码
// 初始化cURL实例,指向Sendle的ping测试接口
$ch = curl_init("https://api.sendle.com/api/ping");

// 对应原curl命令的-u认证配置,替换成自己的账号和密钥
curl_setopt($ch, CURLOPT_USERPWD, "你的sendleID:你的APIKey");

// 对应原curl命令的两个-H请求头配置
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Content-Type: application/json",
    "Accept: application/json"
]);

// 配置返回模式:把接口响应作为字符串返回,不直接输出
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// 执行请求
$response = curl_exec($ch);
$errMsg = curl_error($ch);

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

// 结果处理
if ($errMsg) {
    echo "请求失败:" . $errMsg;
} else {
    echo "接口返回:" . $response;
}

踩坑提示:千万别手动把Basic Auth的账号密码编码后拼到请求头里传,用原生的CURLOPT_USERPWD生成的认证头和命令行curl的逻辑完全一致,不会因为Base64编码的空格、格式问题导致401认证失败。如果本地开发时遇到SSL证书校验报错,可以临时加curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);跳过校验,生产环境一定要配置正确的CA证书链,不要长期关闭校验。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.29 11:15:07