如何查看Guzzle报告数据的URL?

时间:2018-01-30 05:11:32

标签: php guzzle

非常使用Guzzle的新手,我的php脚仍然非常柔软。尽管如此,我发现Guzzle很宽容。我按照下面的例子,在这里和那里调整:

use GuzzleHttp\Pool;
use GuzzleHttp\Client;
use GuzzleHttp\Psr7\Request;

require __DIR__ . '/vendor/autoload.php';

$client = new GuzzleHttp\Client();

$requests = function ()
{
    ...[generate url]..

    yield $index => new Request('GET', $theURL);
};

$pool = new Pool($client, $requests(), [
    'concurrency' => 50,
    'fulfilled' => function ($response, $index)
    {
        $content = $response->getBody()
                            ->getContents();

        file_put_contents('storage/' . $index, $content);

        print 'fulfilled index:' . $index . PHP_EOL;
    },
    'rejected' => function ($reason, $index)
    {
        print 'rejected index:' . $index . PHP_EOL;
    },
]);

$promise = $pool->promise();

$promise->wait();

这很好用,但有一种情况我需要知道URL。它失败了,但是我无法分辨/我提供的1000个URL中的哪个是失败的。我可以看到'索引',但我无法理解如何使用索引告诉我一些有意义的东西(特别是URL)。

var_dump( $response );向我显示了响应,但没有显示网址。 var_dump( $index );向我显示了一个索引,在本例中为int(1100),但我不知道如何使用它来为我带来好处。

有任何帮助吗?谢谢!

0 个答案:

没有答案