[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Darcio Fernandes
Criador Darcio Fernandes 12/10/2020

Boa noite Carlos, tudo bem ???

Infelizmente o Guzzle não consegue funcionar como se o problema fosse no endereço da URL que estou tentando requisitar, estou passando assim localhost:8000/api/v1 ...

Não é retornardo nenhum erro, mais o navegador permanece travado e não passa disso, fica assim por vários minutos e só destrava quando eu mesmo encerro o navegador ...

Estou com Laravel 8 ...

 

Criador Darcio Fernandes 12/10/2020
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use GuzzleHttp\Client as Guzzle;
use GuzzleHttp\Exception\RequestException;

class ProductController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $guzzle     = new Guzzle;
        try {
            $response   = $guzzle->request('POST'env('URL_API').'auth', [
                'form_params' => [
                    'email'     => env('EMAIL_API'),
                    'password'  => env('PASSWORD_API'),
                ]
            ]);
            dd($response->getBody());
        }catch (RequestException $e) {
            dd($e);
        }
    }
Darcio Fernandes
Manager Carlos Ferreira 12/10/2020

Olá, Darcio!
Tudo bem meu amigo?

Qual é o resultado dessa URL?
dd(env('URL_API').'auth');

Adiciona mais um catch:
catch (\Exception $e) {
    echo $e->getMessage(), "\n";
} catch (\Throwable $e) {
    echo $e->getMessage(), "\n";
}

Carlos Ferreira
Criador Darcio Fernandes 12/10/2020

Boa noite Carlos ...

 

https://localhost:8000/api/v1/auth

Darcio Fernandes
Criador Darcio Fernandes 12/10/2020

Segue abaixo todo o meu código refeito ...

 

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use GuzzleHttp\Client as Guzzle;
use GuzzleHttp\Exception\ClientExpection;
use GuzzleHttp\Exception\RequestException;
use GuzzleHttp\Exception\ConnectException;
 
class ProductController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        try {
            $client     = new Guzzle(['base_uri' => 'localhost:8000'
                'timeout'   => 5.0,
                'query' => [
                    'email'     => '[email protected]',
                    'password'  => 'xxx',
                ],
                'headers' => [
                    'Content-Type' => 'application/json'
                ],
            ]);

            $response       = $client->post('/api/v1/auth');

            dd($response->getBody());

            $cliente_token  = json_decode($response->getBody(), true);
        }catch (ClientException $e) {
 
Darcio Fernandes
Criador Darcio Fernandes 12/10/2020
}catch (ClientException $e) {
            $result = [
                'body'      => $e->getMessage(),
                'url'       => $e->getRequest()->getUri(),
                'headers'   => $e->getRequest()->getHeaders(),
                'status'    => $e->getCode(),
                'error'     => $e->getTraceAsString(),  
            ];
            dd($result);
        }catch (RequestException $e) {
            $result = [
                'body'      => $e->getMessage(),
                'url'       => $e->getRequest()->getUri(),
                'headers'   => $e->getRequest()->getHeaders(),
                'status'    => $e->getCode(),
                'error'     => $e->getTraceAsString(),  
            ];
            dd($result);
Darcio Fernandes
Criador Darcio Fernandes 12/10/2020
        }catch (ConnectException $e) {
            $result = [
                'body'      => $e->getMessage(),
                'url'       => $e->getRequest()->getUri(),
                'headers'   => $e->getRequest()->getHeaders(),
                'status'    => $e->getCode(),
                'error'     => $e->getTraceAsString(),  
            ];
            dd($result);
        }
 
Infelizmente a resposta que tenho é essa ...
 
array:5 [ "body" => "cURL error 28: Operation timed out after 5008 milliseconds with 0 bytes received (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http://localhost:8" "url" => GuzzleHttp\Psr7\Uri {#1248 ▶} "headers" => array:3 [] "status" => 0 "error" => """ #0 C:\xampp\htdocs\projetos\webservices\restful\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php(158): GuzzleHttp\Handler\CurlFactory::createRejection(Objec #1 C:\xampp\htdocs\projetos\webservices\restful\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php(110): GuzzleHttp\Handler\CurlFactory::finishError(Object(Gu #2 C:\xampp\htdocs\projetos\webservices\restful\vendor\guzzlehttp\guzzle\src\Handler\CurlHandler.php(47): GuzzleHttp\Handler\CurlFactory::finish(Object(GuzzleHt #3 C:\xampp\htdocs\projetos\webservices\restful\vendor\guzzlehttp\guzzle\src\Handler\Proxy.php(28): GuzzleHttp\Handler\CurlHandler->__invoke(Object(GuzzleHttp\P
Darcio Fernandes
Criador Darcio Fernandes 12/10/2020

O Guzzle parece que está funcionando, coisa que antes não fazia, porém não estou tendo o retorno do token ...

Darcio Fernandes
Manager Carlos Ferreira 12/10/2020

Olá, Darcio!

Chegou a incluir os demais catch que indiquei?

-----------------

Qual está sendo o retorno agora?
Print: https://imgur.com/upload

Os erros anteriores era erro de timeout, a API não estava respondendo (ou URL de requisição errada).

Carlos Ferreira
Criador Darcio Fernandes 12/10/2020

Boa noite Carlos ...

Inclui todos esses catches

}catch (ClientException $e) {
}catch (RequestException $e) {
}catch (ConnectException $e) {
}catch (Throwable $e) {
 
 

 

array:5 [ "body" => "cURL error 28: Operation timed out after 5000 milliseconds with 0 bytes received (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http://localhost:8" "url" => GuzzleHttp\Psr7\Uri {#1248 ▼ -scheme: "http" -userInfo: "" -host: "localhost" -port: 8000 -path: "/api/v1/auth" -query: "email=darciofjunior81%40gmail.com&password=dr178264" -fragment: "" } "headers" => array:3 [ "Content-Type" => array:1 [] "User-Agent" => array:1 [] "Host" => array:1 [] ] "status" => 0 "error" => """ #0 C:\xampp\htdocs\projetos\webservices\restful\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php(158):

 

timeout também era que resolveu quando coloquei um timeout de 5.0 para ele parar, estou aprendendo a trabalhar agora com Guzzle, nunca usei antes ...

 

Não sei dizer se era a Api que não respondia, mais que acredito que URL estava errada sim, agora já não sei mais dizer ...

Darcio Fernandes
Manager Carlos Ferreira 12/10/2020

Olá, Darcio!

Vou finalizar o chamado, tá bom?
Porque conseguimos resolver esse problema em um contato direto.

Abs;

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!