2

curl の送信元ポート範囲を指定する必要があります。TCP で送信元ポートの範囲を選択できるオプションがありません。

出来ますか ?

ありがとう

4

2 に答える 2

2

を使った方が良いと思いますfsockopen。ファイアウォールによってブロックされたときに、これがうまくいったことが何度もありました。参照: http://php.net/fsockopen

$ports = array(80, 81);
foreach ($ports as $port) {
    $fp =@ fsockopen("tcp://127.0.0.1", $port);
    // or fsockopen("www.google.com", $port);
    if ($fp) {
        print "Port $port is open.\n";
        fclose($fp);
    } else {
        print "Port $port is not open.\n";
    }
}

ちなみに、CURL用はありますが、 ;CURLOPT_PORTでは動作しません。tcp://127.0.0.1

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://127.0.0.1");
curl_setopt($ch, CURLOPT_PORT, 80);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$re = curl_exec($ch);
// echo curl_errno($ch);
curl_close($ch);
print $re;
于 2013-02-19T14:41:07.403 に答える