2013-07-25 3 views
0

при вводе в браузере: «https://myemail:[email protected]/v3/account»Попытка отправить запрос GET с завитком на HelloSign API

я

{"account":{"account_id":"**************","email_address":"myemail","callback_url":null,"role_code":null}} 

, который, как представляется, является правильным ответом.

Я пытаюсь реализовать это в php, используя библиотеку libcurl php. У меня есть следующее, но получаю FALSE, когда я запускаю var_dump в переменной $ response. Любые идеи по настройке libcurl? Я пробовал urlencoding всю строку с и без base_64 кодирования подстроки аутентификации 'myemail: mypassword. Заранее спасибо:

$final_string= 'https://myemail:[email protected]/v3/account';  

$curl = curl_init(); 
curl_setopt($curl, CURLOPT_USERAGENT, 'HelloSign-PHP'); 
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); 
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 1); 
curl_setopt($curl, CURLOPT_URL, $final_string); 
curl_setopt($curl, CURLOPT_HEADER, true); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, self::$time_out); 

$response = curl_exec($curl); 

    // Get the status code 
    $http_status = curl_getinfo($curl, CURLINFO_HTTP_CODE); 

    if(curl_exec($curl) === false) 
     { 
      echo 'Curl error: ' . curl_error($curl); 
     } 
     else 
     { 
      echo 'Operation completed without any errors'; 
     } 

curl_close($curl); 


output is : 

Curl error: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failedProblem connecting to HelloSign. 
+1

Что вы имеете в виду, когда говорите, что не получаете ответа? Что 'curl_exec()' возвращает 'false'? Что вы получаете от 'curl_error()'? Это должно дать вам указание на то, что пошло не так. –

+0

Извините, я вернулся и проверил, и на самом деле было создано логическое - false. – user61629

+0

Поскольку имя пользователя и пароль являются встроенными, вы можете фактически использовать одну из функций сокета. Как насчет 'echo file_get_contents ('https: // myemail: [email protected]/v3/account');' – Nadh

ответ

0

Попробуйте следующее:

<?php 

$api_key = 'YOUR_API_KEY'; 
$url = 'https://api.hellosign.com/v3/account'; 

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_USERPWD, $api_key . ":"); // Normally you'd put a password after the colon, but you don't need it if you're using an API key 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 

$response = curl_exec($ch); 
$response_json = json_decode($response, true); 

print_r($response_json); 

curl_close($ch); 

?> 

Примечание: Вам не нужно использовать ключ API (вы можете использовать свое имя пользователя и пароль, а комментировал выше), но это рекомендуемые. Вы можете получить свой ключ API здесь: https://www.hellosign.com/home/myAccount#api