0

我正在使用 ZEND_HTTP_CLIENT:

$config = array(
  'adapter'      => 'Zend_Http_Client_Adapter_Socket',
  'ssltransport' => 'tls',
  'timeout'      =>  30
);
$client  = new Zend_Http_Client($url , $config);

当我提出这个请求时,有没有办法改变我的 IP?我目前在服务器上有大约 4 个 IP 可供我使用?

4

1 回答 1

2

您可以通过您正在使用的适配器更改此设置。如果您使用的是套接字适配器:

$options = array(
    'socket' => array(
        // Bind local socket side to a specific interface
        'bindto' => '10.1.2.3:50505'
    )
);

// Create an adapter object and attach it to the HTTP client
$adapter = new Zend_Http_Client_Adapter_Socket();
$client = new Zend_Http_Client();
$client->setAdapter($adapter);

// Method 1: pass the options array to setStreamContext()
$adapter->setStreamContext($options);

// Method 2: create a stream context and pass it to setStreamContext()
$context = stream_context_create($options);
$adapter->setStreamContext($context);

// Method 3: get the default stream context and set the options on it
$context = $adapter->getStreamContext();
stream_context_set_option($context, $options);

// Now, preform the request
$response = $client->request();

以上内容实际上是从Zend Manual复制/粘贴的。

如果您使用 Zend 的 Curl 适配器,您可以传递CURLOPT_INTERFACE Curl 设置

$adapter = new Zend_Http_Client_Adapter_Curl();
$client = new Zend_Http_Client();
$client->setAdapter($adapter);
$adapter->setConfig(array(
    'curloptions' => array(
        CURLOPT_INTERFACE => '192.168.1.2'
    )
));
于 2013-02-08T11:49:46.003 回答