Я хочу отправить XML-запросы через EPP protocole регистратору и получить ответы, соединение будет успешным, но когда я получаю fread($fp)
, он навсегда загружается.
Есть ли способ сделать это быстро и получить ответ от регистратора?
Я использую следующий код в плагине хостинга.
/** open socket* */ $fp = fsockopen("tcp://registrarwebsite.com", 700, $errno, $errstr, 200); stream_set_blocking($fp, true); stream_context_set_option($fp, 'ssl', 'verify_host', true); stream_context_set_option($fp, 'ssl', 'verify_peer', true); stream_context_set_option($fp, 'ssl', 'allow_self_signed', false); stream_context_set_option($fp, 'ssl', 'local_cert', __DIR__ . '/ma_cert.pem'); stream_context_set_option($fp, 'ssl', 'local_pk', __DIR__ . '/ma_key.pem'); // $secure = stream_socket_enable_crypto($fp, true, STREAM_CRYPTO_METHOD_TLS_CLIENT); // stream_set_blocking($fp, false); if (!$fp) { $this->addError('Il ya une erreur dans la connexion: ' . $errno . ' ' . $errstr); return false; } else { $xml = htmlentities($this->prepareXMLRequest($xml)); fwrite($fp, $xml); $out = fread($fp, 1024); fclose($fp); $out1 = htmlentities($fp); $this->addError('<span style="color: green !important">Connexion se fait avec succes, le code retourné est : </span> ' . $out1);