2014-01-13 2 views
-1

У меня есть следующий бит PHP, работает локально (через апач и локальный хост), но не на моем хостинге - $response всегда пусто:CURL с PHP - HTTP CURL для HTTPS

function get_data($url) { 
     $ch = curl_init(); 
     $timeout = 5; 
     curl_setopt($ch, CURLOPT_URL, $url); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
     curl_setopt($ch, CURLOPT_NOBODY, true); 
     curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
     $data = curl_exec($ch); 
     curl_close($ch); 
     return $data; 
    } 

    $api_key = 'my_api_key'; 

    $randomString = generateRandomString(10); 
    $endLabel = sha1(md5($randomString)); 
    $user_id = $endLabel; 

    $amount_doge = '5'; 

    $url = "https://dogeapi.com/wow/?api_key=".$api_key."&a=get_new_address&address_label=".$user_id; 
    $response = get_data($url); 

Интересно если это может быть из-за того, что я размещен по HTTP (без опции SSL), и я звоню в домен HTTPS? Если да, есть ли способ обойти это? Я попытался curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);, но это, кажется, не делать ничего :(

+0

сделал и попробовать CURLOPT_SSL_VERIFYHOST = False – user1844933

+0

@ user1844933 - Боюсь, что просто ничего не возвращает :( –

+0

У вас установлен пакет libcurl на вашем сервере? :) – user1844933

ответ

2

попробовать использовать echo curl_error($ch) после $data = curl_exec($ch);, чтобы увидеть, что локон говорит Виль lreport что случилось

+0

Ahh, я сейчас получаю 'error: 14077458: SSL-процедуры: SSL23_GET_SERVER_HELLO: причина (1112)' –

+0

попытайтесь установить эту опцию 'curl_setopt ($ ch, CURLOPT_SSLVERSION, 3);' – ASTRALiENS

+0

ЧУДЕСНОЕ - Я тебя люблю! <3 –