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