Je veux essayer la bibliothèque guzzle et suis à travers leur quickstart tutoriel pour faire des requêtes http à une api.
Pourtant, cela ne semble pas fonctionner, car j'obtiens l'erreur suivante:
cURL error 3: <url> malformed
Comme je n'ai jamais travaillé avec cURL auparavant, je ne sais même pas comment répondre à ce message d'erreur. Voici mon code avec la demande que je fais:
$client = new Client();
$client->get('/', ['verify' => true]);
$response = $client->get('https://api.github.com/');
dd($response);
J'utilise le cadre Laravel 5 et j'appelle la méthode index dans mon HomeController. J'utilise également WAMP.
J'apprécierais toute aide et suggestion, car je voudrais essayer Guzzle.
Voici une image du message d'erreur que je reçois:
Si vous souhaitez désactiver la vérification ( ne le faites pas! ):
$response = $client->get('https://api.github.com/', ['verify' => false]);
Plutôt que de désactiver complètement la vérification, cela peut probablement être résolu en fournissant le fichier de bundle CA approprié. Voir verify
dans la documentation de Guzzle.
$client->setDefaultOption(
'verify',
'C:\Program Files (x86)\Git\bin\curl-ca-bundle.crt'
);
Vous ne devriez pas avoir cet appel:
$client->get('/', ['verify' => true]);
C'est ce qui jette l'erreur. La troisième ligne est correcte.
L'erreur est signifie ce qu'elle dit. L'URL est mal formée. Dans mon cas lors de l'initialisation du Client, j'ai utilisé base_url au lieu de base_uri. Donc, si vous rencontrez cette erreur, assurez-vous que votre URL est correctement spécifiée.
Si vous êtes venu ici parce que vous avez recherché sur Google "Guzzle renvoie l'erreur cURL 3: mal formé", vérifiez le paramètre client. Dans certaines versions, c'est base_uri et autre base_url
$client = new Client([
'base_uri' => 'http://localhost:8000', // <-- base_uri instead of base_url
]);