1

LWP::UserAgent::DNS::Hosts を使用して一部の perl コードを php に変換しています。

perl コードが行っていることは、負荷分散プール内の複数の個々のサーバーに対してページの読み込み時間を測定することです。サーバーは名前ベースの仮想ホスティングを使用しているため、perl コードは次の行を使用して URL/ホスト名を IP バインディングに変更します。

    LWP::UserAgent::DNS::Hosts->register_host(
    'www.mytesturl.com' => '22.22.22.22',
    );

    my $ua = LWP::UserAgent->new;
    $ua->timeout(10);
    $ua->env_proxy;

    #actually enforces new DNS settings as if they were in /etc/hosts
    LWP::UserAgent::DNS::Hosts->enable_override;

    $Timerstart=[gettimeofday];

    my $response= $ua->get('http://www.mytesturl.com');

    $TimeElapsed = tv_interval ($Timerstart,[gettimeofday]);

    if ($response->is_success) {
       print "<br>Response detected - Time to Load: $TimeElapsed seconds\r\n"
    }

生のソケット操作でこれを実行できることはわかっていますが、cURL または PHP の別のクラス ライブラリで実行できることを望んでいました。perl コードは、サーバーを個別にテストするために、同じ URL (各 IP は特定のサーバー) に対して複数の異なる IP を使用してループ内で実際にこれを繰り返します。

ありがとう-

4

1 に答える 1

0

私はこのように使用します:

curl_setopt($ch, CURLOPT_INTERFACE,'eth0');

または、IP を使用することもできます。

curl_setopt($ch, CURLOPT_INTERFACE,'85.128.174.26');

于 2013-09-26T20:49:55.583 に答える