2017-04-03 2 views
1

Je suis en train de se connecter à la suite API CRM REST en utilisant GuzzleComment se connecter à la suite API CRM REST en utilisant Guzzle

$res = $client->request('GET','http://crm.demo.com/service/v4_1/rest.php/login', [ "auth" => [ 'myadmin', md5('mypswd') ]]); 

    print_r($res); 

Le résultat est que je reçois ce

GuzzleHttp\Psr7\Response Object 
(
[reasonPhrase:GuzzleHttp\Psr7\Response:private] => OK 
[statusCode:GuzzleHttp\Psr7\Response:private] => 200 
[headers:GuzzleHttp\Psr7\Response:private] => Array 
    (
     [Date] => Array 
      (
       [0] => Mon, 03 Apr 2017 06:26:17 GMT 
      ) 

     [Content-Type] => Array 
      (
       [0] => text/html; charset=UTF-8 
      ) 

     [Transfer-Encoding] => Array 
      (
       [0] => chunked 
      ) 

     [Connection] => Array 
      (
       [0] => keep-alive 
      ) 

     [Set-Cookie] => Array 
      (
       [0] => __cfduid=daace974785b1e202e7535232346958d111491200776; expires=Tue, 03-Apr-18 06:26:16 GMT; path=/; domain=.demo.com; HttpOnly 
      ) 

     [X-Powered-By] => Array 
      (
       [0] => PHP/5.4.16 
      ) 

     [X-Varnish] => Array 
      (
       [0] => 2592144 
      ) 

     [Age] => Array 
      (
       [0] => 0 
      ) 

     [Via] => Array 
      (
       [0] => 1.1 varnish-v4 
      ) 

     [Server] => Array 
      (
       [0] => cloudflare-nginx 
      ) 

     [CF-RAY] => Array 
      (
       [0] => 3499f497d6bd17a4-SIN 
      ) 

    ) 

[headerNames:GuzzleHttp\Psr7\Response:private] => Array 
    (
     [date] => Date 
     [content-type] => Content-Type 
     [transfer-encoding] => Transfer-Encoding 
     [connection] => Connection 
     [set-cookie] => Set-Cookie 
     [x-powered-by] => X-Powered-By 
     [x-varnish] => X-Varnish 
     [age] => Age 
     [via] => Via 
     [server] => Server 
     [cf-ray] => CF-RAY 
    ) 

[protocol:GuzzleHttp\Psr7\Response:private] => 1.1 
[stream:GuzzleHttp\Psr7\Response:private] => GuzzleHttp\Psr7\Stream Object 
    (
     [stream:GuzzleHttp\Psr7\Stream:private] => Resource id #73 
     [size:GuzzleHttp\Psr7\Stream:private] => 
     [seekable:GuzzleHttp\Psr7\Stream:private] => 1 
     [readable:GuzzleHttp\Psr7\Stream:private] => 1 
     [writable:GuzzleHttp\Psr7\Stream:private] => 1 
     [uri:GuzzleHttp\Psr7\Stream:private] => php://temp 
     [customMetadata:GuzzleHttp\Psr7\Stream:private] => Array 
      (
      ) 

    ) 

) 

Sa présentation la demande a été réussie mais je n'obtiens pas le résultat. Est-il vraiment possible de le connecter en utilisant Guzzle? Y a-t-il une autre méthode pour passer les paramètres de connexion? J'utilise CodeIgniter 3 et Guzzle pour y arriver.

Répondre

0

Tout d'abord, quel est le problème? Votre code est correct, vous obtenez la réponse.

Si vous voulez explorer le corps de la réponse, faites (string) $res->getBody() ou $res->getBody()->getContents() (le corps est un flux, comme vous pouvez dans votre image, donc pour l'obtenir comme une chaîne, vous devez faire des actions supplémentaires).

BTW, vous essayez d'accéder à un site sous CloudFlare, et ce n'est généralement pas possible, car CloudFlare rejette les robots. Essayez d'obtenir un point d'entrée différent (qui n'est pas protégé par CloudFlare).

+0

Merci @Alexey Shockov pour avoir souligné que le problème de cloudflare.J'étais peu confus au sujet de la réponse.Maintenant je l'ai fonctionné – AVM