我写了一个简单的蜘蛛来测试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和各种浏览器进行测试)。