【问题标题】:php curl url ip address bindingphp curl url ip地址绑定
【发布时间】:2012-11-28 15:10:14
【问题描述】:

我正在使用 LWP::UserAgent::DNS::Hosts 将一些 perl 代码转换为 php。

perl 代码所做的是针对负载平衡池中的多个单独服务器进行页面加载时间测量。由于服务器使用基于名称的虚拟主机,perl 代码使用这一行将 url/hostname 更改为 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 代码实际上在一个循环中重复了这一点,其中有几个不同的 IP 用于相同的 url(每个 ip 是一个特定的服务器),以单独测试服务器。

谢谢-

【问题讨论】:

    标签: php curl lwp-useragent


    【解决方案1】:

    我是这样用的:

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

    或者您也可以使用 IP:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-25
      • 2013-03-31
      • 2017-09-09
      • 2016-12-05
      • 1970-01-01
      • 1970-01-01
      • 2014-10-08
      相关资源
      最近更新 更多