Guzzle returns cURL error 3: <url> malformed
If you want to disable verification (don't do this!):
$response = $client->get('https://api.github.com/', ['verify' => false]);
Rather than disabling verification entirely, this can likely be fixed by providing proper CA bundle file. See verify
in Guzzle documentation.
$client->setDefaultOption(
'verify',
'C:\Program Files (x86)\Git\bin\curl-ca-bundle.crt'
);
In case you came here because you googled "Guzzle returns cURL error 3: malformed" check the client parameter. In some version it's base_uri and other base_url
$client = new Client([
'base_uri' => 'http://localhost:8000', // <-- base_uri instead of base_url
]);
You should not have this call:
$client->get('/', ['verify' => true]);
That is what is throwing the error. The third line is okay.
The error is means what it says. The URL /
is obviously not valid. When you instantiate the client, use the base_uri
option, or specify a full URL in the call to get()
.