2016-10-14 2 views
0

Я использовал http://requests.ryanmccue.info/ и https://github.com/rmccue/RequestsDigest Аутентификация с помощью запроса PHP или любой другой в CodeIgniter

Я использую запрос библиотеки, но и любой другой библиотеке также можно предположить.

Мой код для CodeIgniter

class Home extends CI_Controller{ 
      public function index(){ 
       $this->load->library('PHPRequest');  
       $this->rest_client(); 
      } 
      function rest_client(){ 
       $user = 'myusername'; 
       $pass = 'mypass'; 
       $BaseApiUrl = 'myurl'; 

       $headers = array('Accept' => 'application/json'); 
       $options = array('auth' => new Requests_Auth_Basic(array($user, $pass))); 
       $request = Requests::get($BaseApiUrl, $headers, $options); 
       var_dump($request->status_code); 
       var_dump($request->body); 

      } 
     } 

Но я получаю следующее сообщение об ошибке:

int(401) string(28) "HTTP Digest: Access denied. " 

ответ

0

Использование Curl PHP Теперь

$options = array(
       CURLOPT_URL   => $url, 
       CURLOPT_HEADER   => false,  
       CURLOPT_VERBOSE  => true, 
       CURLOPT_RETURNTRANSFER => true, 
       CURLOPT_FOLLOWLOCATION => true, 
       CURLOPT_SSL_VERIFYPEER => false, // for https 
       CURLOPT_USERPWD  => $username . ":" . $password, 
       CURLOPT_HTTPAUTH  => CURLAUTH_DIGEST 

     ); 
     $ch = curl_init(); 
     curl_setopt_array($ch, $options); 
     try { 
      $raw_response = curl_exec($ch); 
      // validate CURL status 
      if(curl_errno($ch)) 
       throw new Exception(curl_error($ch), 500); 
      // validate HTTP status code (user/password credential issues) 
      $status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
      if ($status_code != 200) 
       throw new Exception("Response with Status Code [" . $status_code . "].", 500); 
     } catch(Exception $ex) { 
      if ($ch != null) curl_close($ch); 
      throw new Exception($ex); 
     } 
     if ($ch != null) curl_close($ch); 
     return json_decode($raw_response); 
Смежные вопросы