2017-10-03 22 views
0

Windowsでは完全に動作しますが、Linuxでは動作しません。Windows 7ではcurlが動作しますが、CentOSでは動作しません

はこのエラーを得た:

"カール:ピアによって(35)のTCP接続リセット"

$url = 'some_url'; 
$curl = curl_init(); 
curl_setopt_array($curl, array(
    CURLOPT_URL => $url, 
    CURLOPT_RETURNTRANSFER => true, 
    CURLOPT_ENCODING => "", 
    CURLOPT_MAXREDIRS => 10, 
    CURLOPT_TIMEOUT => 30, 
    CURLOPT_SSL_VERIFYPEER => 0, 
    CURLOPT_SSL_VERIFYHOST => 0, 
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, 
    CURLOPT_CUSTOMREQUEST => "POST", 
    CURLOPT_HTTPHEADER => array(
    "content-type: application/json" 
) 
)); 

$response = curl_exec($curl); 
$err = curl_error($curl); 

curl_close($curl); 

は、このためにいくつかの特別な設定はありますか?

ファイアウォールはオフになっていますが、同じエラーです。どんなアイデアを試してみませんか?

答えて

0

sslバージョンで問題でした。私が見つけたように、 "CURLOPT_SSLVERSION => 1" と

正常に動作します:

  • SSLv2のは7.18.1以降、デフォルトでは無効になっています。他のSSLバージョンの可用性は、使用するために構築されたバックエンドlibcurlによって異なる場合があります。

  • SSLv3は7.39.0からデフォルトで無効になっています。

Linux版curlは7.29.0(Windows 7.55.1)ですので、デフォルトではsslv3を試してみたところ、問題が発生しました。

0

これはファイアウォールの問題である可能性があります.VMwareを使用している場合は、ウイルス対策ソフトウェアのファイアウォールもオフになっていることを確認してください。

または私はhttps://example.netを使ってみたようにURLを確認できますが、それらは 'www'を確実にします。 - 私がhttps://www.example.netに切り替えると、すべてが私のために完璧に機能するようです。適切なリクエストが送信されました。

関連する問題