pedido de cura em Laravel

Estou a lutar para fazer este pedido em Laravel.
curl -d '{"key1":"value1", "key2":"value2"}' -H "Content-Type: application/json"   -X GET http://my.domain.com/test.php
Tenho tentado isto.
$endpoint = "http://my.domain.com/test.php";

$client = new \GuzzleHttp\Client();

$response = $client->post($endpoint, [
                GuzzleHttp\RequestOptions::JSON => ['key1' => $id, 'key2' => 'Test'],
            ]);

$statusCode = $response->getStatusCode();
Mas estou a ter um erro.Class 'App\Http\Controllers\GuzzleHttp\RequestOptions' not found

Alguma sugestão?

EDITAR

Preciso da resposta da API em $response e depois armazená-la em DB... Como posso fazer isto? :/

Author: harunB10, 2018-01-16

3 answers

Dê a opção de pesquisa do Guzzle uma tentativa:

$endpoint = "http://my.domain.com/test.php";
$client = new \GuzzleHttp\Client();
$id = 5;
$value = "ABC";

$client->request('GET', $endpoint, ['query' => [
    'key1' => '$id', 
    'key2' => 'Test'
]]);

// url will be: http://my.domain.com/test.php?key1=5&key2=ABC;

$statusCode = $response->getStatusCode();
$content = $response->getBody();

// or when your server returns json
// $content = json_decode($response->getBody(), true);

Uso Esta opção para construir os meus pedidos de obtenção com guzzle. Em combinação com o json_ decode($json_ values, true) pode transformar o json numa matriz de php.

 3
Author: Brotzka, 2018-09-12 23:14:38

Ainda pode usar o cURL nativo em PHP se tiver problemas em usar o guzzlehttp:

Forma nativa do Php

            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, "SOME_URL_HERE" . $method_request);
            // SSL important
            curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, FALSE );
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

            $output = curl_exec($ch);
            curl_close($ch);


            $this->response['response'] = json_decode($output);

Por vezes, esta solução ainda é melhor e mais simples do que usar a biblioteca anexada à estrutura Laravel. Mas ainda assim a escolha é sua já que você mantém o desenvolvimento de seu projeto.

 3
Author: Kenneth Sunday, 2018-01-16 11:37:56

Usa isto como referência . Fiz com sucesso o pedido do curl com este código

public function sendSms($mobile)
{
  $message ='Your message';
  $url = 'www.your-domain.com/api.php?to='.$mobile.'&text='.$message;

     $ch = curl_init();
     curl_setopt($ch, CURLOPT_URL, $url);
     curl_setopt($ch, CURLOPT_POST, 0);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

     $response = curl_exec ($ch);
     $err = curl_error($ch);  //if you need
     curl_close ($ch);
     return $response;
}
 1
Author: Bishal Jung Chettri, 2018-08-19 11:56:06