3

我写了一个简单的蜘蛛来测试 Fiddler 的各种东西。该脚本使用 Zend_Http_Client 类的相同实例(在下面的示例中为 $client)使用 Zend_Http_Client->request() 发出一些请求。

使用 Fiddler 和 Zend_Http_Client 时,只有第一个 Zend_Http_Client->request() 有效;后续请求因“无法读取响应或响应为空”而失败。这是我使用 Fiddler 的 Zend_Http_Client 配置:

$config = array(
    'adapter'       => 'Zend_Http_Client_Adapter_Proxy',
    'proxy_host'    => '127.0.0.1',
    'proxy_port'    => 8888,
    'timeout'       => 60,
    'useragent'     => 'Local Site Spider Test',
    'keepalive'     => true,
    'sslusecontext' => true
);

$client = new Zend_Http_Client('http://www.site.com/',  $config);

这是一个失败的简化示例,使用上面的 $client :

$response = $client->request();
echo $response->getHeadersAsString();

$client->setUri('http://www.site.com/file.html');
$response = $client->request();
echo $response->getHeadersAsString();

当不使用代理时,蜘蛛本身 100% 可以按预期工作,因此代码本身很好。Fiddler 也在工作,捕获来自所有进程的所有请求(使用 WinInet 以及各种浏览器进行测试)。

4

0 回答 0