PHP多卷曲 - 找出用于特定卷曲句柄的代理

时间:2010-10-22 20:53:14

标签: php curl curl-multi proxies

我正在使用带有匿名代理的多卷曲,我想在返回curl句柄后根据性能和位置等标记代理。我已经尝试过curl_getinfo()但是没有返回有关用于该curl句柄的代理的信息。

有什么想法吗?我想过可能是一种识别特定句柄并使用所使用的代理存储的方法,然后当句柄被触发并通过curl_multi_info_read()返回时,我可以通过代理查找句柄。不知道该用什么作为标识符。执行转储会将句柄显示为资源(20),但不确定这是否是我可以依赖的内容?

我想如果有像getOpt()这样的东西是理想的,但我没有看到任何类似于我已经完成的研究的卷曲处理。

2 个答案:

答案 0 :(得分:3)

检查MultiRequest库的最新版本。在那里你可以做这样的事情:

$request = new MultiRequest_Request($url);
$request->setCurlOption(CURLOPT_PROXY, $proxy);
// ...
$curlOptions = $request->getCurlOptions();
list($proxyIp, $proxyPort) = explode(':', $curlOptions[CURLOPT_PROXY]);

答案 1 :(得分:0)

我发现了一个并行卷曲类(由Pete Warden提供),它使用以下内容传递多卷曲的数据..

    $this->outstanding_requests[$ch] = array(
        'url' => $url,
        'callback' => $callback,
        'user_data' => $user_data,
        'proxy' => $proxy
    );

当完成多卷曲时,它可以使用卷曲句柄通过未完成的请求数组保存信息。如果您对多卷曲感兴趣请查看课程,它会为您设置一切,并且可以自定义。