web-dev-qa-db-fra.com

Guzzle renvoie l'erreur cURL 3: <url> mal formé

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:

Laravel 5 Error Message

20
LoveAndHappiness

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'
);
8
Limon Monte

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.

7
Teliov

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
    ]);
2
Kaizoku Gambare