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

如何用PHP cURL向IP地址范围批量发送API请求(含无效IP处理)

批量向IP段发送API请求的高效方法

你可以基于现有的PHP代码做简单修改,用循环批量遍历目标IP段,同时加入错误处理应对不存在的设备,不用反复复制粘贴。

修改后的批量处理代码

// 遍历IP段的最后一位:从1到99
for ($i = 1; $i <= 99; $i++) {
    // 动态生成当前IP地址
    $currentIp = "2.4.7.$i";
    // 拼接完整的请求URL
    $requestUrl = "http://$currentIp/api/profile/10/recall";

    $curl = curl_init();

    curl_setopt_array($curl, array(
        CURLOPT_URL => $requestUrl,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => '',
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 5, // 缩短超时时间,避免等待不存在的设备太久
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => 'POST',
        CURLOPT_POSTFIELDS =>'{
            "keep_ip_settings": false
        }',
        CURLOPT_HTTPHEADER => array(
            'Content-Type: application/json',
            'Accept: application/json'
        ),
    ));

    $response = curl_exec($curl);
    $curlError = curl_error($curl);

    // 输出当前IP的处理结果,方便排查
    echo "=== IP: $currentIp ===\n";
    if ($curlError) {
        echo "请求失败: $curlError\n";
    } else {
        echo "响应内容: $response\n";
    }
    echo "====================\n\n";

    curl_close($curl);
}

关键说明

  • 自动遍历IP:通过for循环自动生成2.4.7.1到2.4.7.99的所有IP,无需手动复制粘贴
  • 超时优化:把CURLOPT_TIMEOUT设为5秒,遇到不存在的设备会快速跳过,不会卡住程序
  • 结果可视化:每个IP请求完成后都会输出对应的结果,你能直接看到哪些设备成功响应、哪些连接失败
  • 保留原请求逻辑:所有请求参数(POST方法、请求体、请求头)和你Postman生成的代码完全一致,确保请求效果相同

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 18:22:42