мне нужно подключиться к другим ips из php-скрипта, запущенного на сервере Godaddy
код подключения:
$API = new routeros_api();
$API->debug = false;
if($API->connect($result['mt_ip'], $result['mt_user'], $result['mt_pass'])){
$ARRAY = $API->comm("/system/resource/print");
$ram = $ARRAY['0']['free-memory']/1048576;
$hdd = $ARRAY['0']['free-hdd-space']/1048576;
}
Функция подключения routeros_api:
function connect($ip, $login, $password)
{
for ($ATTEMPT = 1; $ATTEMPT <= $this->attempts; $ATTEMPT++) {
$this->connected = false;
$this->debug('Connection attempt #' . $ATTEMPT . ' to ' . $ip . ':' . $this->port . '...');
$this->socket = @fsockopen($ip, $this->port, $this->error_no, $this->error_str, $this->timeout);
if ($this->socket) {
socket_set_timeout($this->socket, $this->timeout);
$this->write('/login');
$RESPONSE = $this->read(false);
if ($RESPONSE[0] == '!done') {
$MATCHES = array();
if (preg_match_all('/[^=]+/i', $RESPONSE[1], $MATCHES)) {
if ($MATCHES[0][0] == 'ret' && strlen($MATCHES[0][1]) == 32) {
$this->write('/login', false);
$this->write('=name=' . $login, false);
$this->write('=response=00' . md5(chr(0) . $password . pack('H*', $MATCHES[0][1])));
$RESPONSE = $this->read(false);
if ($RESPONSE[0] == '!done') {
$this->connected = true;
break;
}
}
}
}
fclose($this->socket);
}
sleep($this->delay);
}
if ($this->connected){
$this->debug('Connected...');
}else{
$this->debug('Error...');
}
return $this->connected;
}
Я имею в виду, что я разрабатываю скрипт php на своем веб-сайте, используя который я хочу подключиться к другим IP-адресам. Я думаю, что godaddy блокирует это соединение, потому что он отлично работает на localhost
Задача ещё не решена.
Других решений пока нет …