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

CodeIgniter4中如何配置cURL请求使用代理

CodeIgniter4 配置cURL请求使用代理方法

CI4的CURLRequest库底层封装了原生cURL能力,支持直接透传代理参数,不需要修改框架核心代码,分全局配置和单次配置两种场景:

1. 全局默认代理配置(所有cURL请求默认走代理)

  • 找到项目配置目录下的app/Config/CURLRequest.php文件,如果文件不存在,从框架对应vendor目录下的默认配置文件复制一份到该路径即可
  • 在配置类的$options数组中追加代理参数,示例代码如下:
public array $options = [
    // 保留原有已配置的参数,比如超时时间、证书校验规则等
    'proxy' => 'http://代理IP:代理端口',
    // 代理需要账号密码鉴权时使用以下格式
    // 'proxy' => 'http://用户名:密码@代理IP:代理端口',
    // 其他代理类型替换前缀即可:HTTPS代理用https://前缀,SOCKS5代理用socks5://前缀
];

配置完成后,所有通过Services::curlrequest()实例化发起的请求,都会默认使用该代理。

2. 单次请求单独配置代理(仅指定请求走代理,不影响全局规则)

如果只有个别接口需要走代理,直接在发起请求的option参数中传入代理配置即可,示例:

$client = \Config\Services::curlrequest();
$response = $client->post('目标接口地址', [
    'proxy' => 'socks5://127.0.0.1:7890', // 替换为实际代理地址
    'form_params' => [
        // 请求参数
    ]
]);

注意事项

  • 代理地址必须携带对应协议前缀,否则cURL会因无法识别代理类型抛出错误
  • 无鉴权的代理不要在地址中追加多余的账号密码字段,避免触发代理鉴权失败
  • 本地调试时如果出现HTTPS证书校验错误,可临时添加'verify' => false配置关闭校验,生产环境不建议关闭该规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 09:09:56