2012-02-19 21 views
3

私はXML-ファイルをreciveして送信するSSLサーバーに接続するためにカールを使用していますが、私はのcURLおよびSSL、接続()タイムアウト

を得続ける「()の時間を接続します!」

サーバーに接続しようとしたとき。

私はcURLの新機能を利用しているので、サーバーの設定、証明書、または何が問題なのか分かりません。

私は(SSLサーバの所有者が私に与えられた)を実行しようとしているコード:

function post($url, $post) 
{ 
    $ch = curl_init(); 
    if($ch) 
    { 
     curl_setopt($ch, CURLOPT_URL, $url); 
     curl_setopt($ch, CURLOPT_TIMEOUT,60); 
     curl_setopt($ch, CURLOPT_VERBOSE,0); 
     curl_setopt($ch, CURLOPT_POST, 1); 
     curl_setopt($ch, CURLOPT_POSTFIELDS, $post); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 
     $result = curl_exec($ch); 
     echo '<pre>', curl_error($ch); 
     curl_close($ch); 
     if(!empty($result)) 
      return $result; 
    } 
} 

cURLのバージョン情報:

[version_number] => 463362 
[age] => 3 
[features] => 1597 
[ssl_version_number] => 0 
[version] => 7.18.2 
[host] => i486-pc-linux-gnu 
[ssl_version] => OpenSSL/0.9.8g 
[libz_version] => 1.2.3.3 
[protocols] => Array 
    (
     [0] => tftp 
     [1] => ftp 
     [2] => telnet 
     [3] => dict 
     [4] => ldap 
     [5] => ldaps 
     [6] => http 
     [7] => file 
     [8] => https 
     [9] => ftps 
     [10] => scp 
     [11] => sftp 
    ) 
+1

他の方法で接続できますか?オプション '-v'でコマンドラインからcurlを使ってみて、それがどのようになっているかを見てください。 – troelskn

+0

いいえ、dosntはどちらかのように動作するようです..私は "Connection timed out"を取得します。 – Ganhammar

+0

'CURL_CONNECTTIMEOUT'オプションを設定しようとしましたか? – cspray

答えて

2

メッセージは、単にそのTCPを意味し、操作に許可された時間なしに接続処理が完了していません。

特定のポートでTCP経由で利用できるサイトに接続しようとすると、ファイアウォール、プロキシ、NAT、ルーターまたはその他の装置が動作しないように思われる可能性があります。

これは本当にカールに関連した問題ではなく、たとえばtelnetを同じホスト+ポート:telnet [host] [port]に実行することでこれを確認できます。

+0

ありがとう!私は以下のルールを追加しました: 'iptables -A OUTPUT -o eth0 -p tcp -dport 443 -m state --state NEW、ESTABLISHED -j ACCEPT'と' iptables -A INPUT -i eth0 -p tcp-sport 443 -m状態 - 状態ESTABLISHED -j ACCEPT'を実行しました。 – Ganhammar

関連する問題