2012-11-28 4 views
1

LWP :: UserAgent :: DNS :: Hosts to PHP를 사용하여 일부 펄 코드를 변환 중입니다.PHP curl url IP 주소 바인딩

펄 코드는로드 균형 조정 풀의 여러 개별 서버에 대해 페이지로드 시간을 측정합니다. 서버가 기반 가상 호스트 이름을 사용하고 있기 때문에, 펄 코드는 바인딩 IP로 URL/호스트 이름을 변경하려면이 라인을 사용

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를 가진 루프 내에서 이것을 반복합니다.

고맙다 -

답변

0

나는 이런 식 사용

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

또는 당신은 또한 IP 사용할 수 있습니다

curl_setopt ($ ch를, CURLOPT_INTERFACE, 85 년을 .128.174.26 ');