-1

fsock open を使用して epp サーバーに接続していますが、失敗しています。以下は私のコードです:(ここで間違った入力値を与えました。)

$whoisserver = "epp-test.verisign-grs.net";
$port = 123;
$timeout = 40;


$fp = @fsockopen($whoisserver, $port, $errno, $errstr, $timeout) or die("Socket Error " . $errno . " - " . $errstr);


$out = "";
while(!feof($fp)){
    $out .= fgets($fp, 128);
}

fclose($fp);


echo "<br> result <pre>\n" . $out . "\n</pre>\n <br>";

以下は私が得ているエラーです:

Socket Error 10060 - A connection attempt failed because the connected party 
did not properly respond after a period of time, or established connection
failed because connected host has failed to respond.

Epp サーバーは接続時に応答します。しかし、接続に失敗しています。

私もCURLを使用しましたが、curlの使用時に応答がありません:(ここで間違った入力値が与えられました)

$ch = curl_init();

// set URL and other appropriate options 
curl_setopt($ch, CURLOPT_URL, "epp-test.verisign-grs.net"); 
curl_setopt($ch, CURLOPT_PORT, 123); 
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);

 $res = curl_exec($ch); 
 echo "response is:<br>".$res."<br>";
 print "len[".strlen($res)."]\n"; 
 curl_close($ch);

注:コマンドラインからeppサーバーにpingを実行しているとき。Ping コマンドは成功です。epp サーバーから応答があります。

何か間違ったことをしている場合は?

ローカル システムからサーバーを epp することはできませんか?

epp サーバーに接続するには SSL を使用する必要がありますか?

4

2 に答える 2

1

そのデータ、サーバー、ポートはどこで入手しましたか? EPP ポートは 700 です。技術的にテストできたはずです。

openssl s_client -connect epp-test.verisign-grs.net:700

ただし、Verisign は、最初に特別な合意を作成し、ファイアウォール ルールを設定しない限り、サーバーへの接続を許可していません。

EPP で遊んでスクリプトをデバッグしようとしているだけなら、CentralNIC を検討するかもしれませんが、最初にユーザー名とパスワードを尋ねる必要があります。

単純な「挨拶テスト」には、次を使用できます。

openssl s_client -connect epp-ote.centralnic.com:700

繰り返しますが、これは curl では機能しません。最初の引数として "ssl://epp-ote.centralnic.com" を使用すると、PHP で動作する可能性があります。しかし、最初に EPP 仕様を読まなければ、feof($fp) やその他のコードを理解することはできません。

于 2013-05-10T16:19:20.943 に答える