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

如何将Impact Radius的cURL命令转换为PHP代码?

将Impact Radius目录查询API的cURL命令转换为PHP代码

你的原代码存在几个关键问题导致请求失败,下面是修正后的完整PHP代码,同时说明问题点:

原代码的问题:

  • 遗漏了Keyword=Acme查询参数:原cURL的-G参数会把所有-d参数转为GET查询字符串,你只添加了Query参数
  • 请求头设置错误:原cURL要求的是Accept: application/json(告知服务器返回JSON格式响应),但你设置成了Content-Type: application/json(该头用于POST请求声明请求体格式,GET请求无需设置)
  • 多余设置CURLOPT_CUSTOMREQUEST, 'GET':curl默认就是GET请求,无需额外指定

修正后的PHP代码:

<?php
$accountSID = "xyz";
$authToken = "xyz";

// 构建基础URL
$baseUrl = "https://api.impact.com/Mediapartners/{$accountSID}/Catalogs/ItemSearch";

// 构建查询参数数组,对应原cURL的-d参数
$queryParams = [
    'Query' => 'CurrentPrice>=12.00ANDStockAvailability!=OutOfStock',
    'Keyword' => 'Acme'
];

// 自动编码参数并拼接到URL后
$url = $baseUrl . '?' . http_build_query($queryParams);

// 初始化curl
$curl = curl_init($url);

// 设置账号认证信息
curl_setopt($curl, CURLOPT_USERPWD, "{$accountSID}:{$authToken}");

// 设置Accept头,要求返回JSON格式
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Accept: application/json']);

// 强制使用TLS 1.2协议
curl_setopt($curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_2);

// 设置连接超时时间
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 30);

// 设置请求的User-Agent
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");

// 要求返回结果而非直接输出
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

// 执行请求
$response = curl_exec($curl);
$httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);

// 错误处理与响应解析
if ($response === false) {
    echo "请求错误:" . curl_error($curl);
} else {
    if ($httpCode >= 200 && $httpCode < 300) {
        // 解析JSON响应为数组
        $data = json_decode($response, true);
        print_r($data);
    } else {
        echo "请求失败,状态码:{$httpCode},响应内容:{$response}";
    }
}

// 关闭curl资源
curl_close($curl);
?>

额外说明:

  • 使用http_build_query()构建查询字符串,能自动处理URL编码,避免手动拼接可能出现的格式错误
  • 增加HTTP状态码判断,便于排查API返回的错误(比如401代表认证失败,400代表参数格式错误等)
  • 用curl_error()输出错误描述,比仅输出错误码更便于调试

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 12:05:06