处理ID列表中的URL

时间:2013-03-31 19:49:55

标签: php macos curl

我希望访问一定数量的URL地址,其中一部分URL是固定的,而URL的其他部分是可变的。更具体地说,变量始终是查询字符串。

以下是URL格式的示例。原因是因为目标URL是一个基于整数执行任务的脚本 - 但我有大量的'id'值要通过。我在文本文件中准备好'id'值,其中一个值低于另一个值(因此,单独的行)。

  

http://www.example.com/thread.php?id=

在我发布之前,我已经尝试过命令行,Apple Script和curl。

我的卷曲脚本在下面。

<?php

$lines = file('input/threads.txt');

foreach($lines as $line)
{
    $ch=curl_init();
    curl_setopt($ch, CURLOPT_URL,'http://www.example.com/thread.php?id=' . $line . '');
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
    curl_exec($ch);
    curl_close($ch);
    }
?>

我想知道是否有更有效的方法来完成这项任务。我特别想知道任务的状态(“列表中的距离......”)。

谢谢,

1 个答案:

答案 0 :(得分:0)

您可以使用迭代索引作为流程指标:

$lines = file('input/threads.txt');
$lineCount = count($lines);

foreach ($lines as $index => $line) {
    echo 'fetching URL #' . ($index + 1) . ' of ' . $lineCount . "...\n";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'http://www.example.com/thread.php?id=' . urlencode($line));
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
    curl_exec($ch);
    curl_close($ch);
}