2010-07-30 4 views
1

Разрабатывать общедоступный сайт, который использует Zend_Http_Client для доступа к удаленной логике. Есть ли свойство/способ в клиентском адаптере, чтобы я мог установить удаленный адрес пользователя, просматривающего сайт?Удаленный параметр адреса в Zend_Http_Client

В настоящее время я использую это обходное решение, которое сочетает в себе как удаленный адрес, так и удаленный useragent.

$client = new Zend_Http_Client();  
$client->setConfig(array(      
    'useragent' => 'Get Remote Address'.'Get User Agent',  
)); 

Есть ли определенное свойство для удаленного адреса?

ответ

5

Из любого метода Zend_Controller_Action вы можете получить удаленный адрес пользователя следующим образом:

$ip = $this->getRequest()->getServer('REMOTE_ADDR'); 

Если вы не в контроллере, вы можете использовать следующие предполагая использовали Front Controller:

$ip = Zend_Controller_Front::getInstance()->getRequest()->getServer('REMOTE_ADDR'); 

И, наконец, - эти методы являются лишь обертками для серверного суперглобальным:

$ip = $_SERVER['REMOTE_ADDR']; 

Замените REMOTE_ADDR на HTTP_USER_AGENT, чтобы получить агент пользователя.

+0

Это у меня уже есть. Проблема заключается в том, как передать это значение в адаптере Zend_Http_Client, чтобы на сервере я мог удобно получить удаленный адрес в переменной REMOTE_ADDR вместо значения в переменной HTTP_USER_AGENT. – davykiash

+0

О, извините, я неправильно понял вопрос! Это невозможно с PHP. –

+0

Я тоже так думал. Спасибо – davykiash

Смежные вопросы