Guzzle returns cURL error 3: malformed
我想尝试一下guzzle库,并通过他们的快速入门教程来向api发出http请求。
但是它似乎不起作用,因为出现以下错误:
1 | cURL error 3: <url> malformed |
由于我以前从未使用过cURL,因此我什至不知道如何响应该错误消息。 这是我的代码以及正在发出的请求:
1 2 3 4 5 6 | $client = new Client(); $client->get('/', ['verify' => true]); $response = $client->get('https://api.github.com/'); dd($response); |
我正在使用Laravel 5框架并在HomeController中调用index方法。 也正在使用WAMP。
我将不胜感激,因为我想尝试一下Guzzle。
这是我收到的错误消息的图片:
如果您要禁用验证(请勿执行此操作!):
1 | $response = $client->get('https://api.github.com/', ['verify' => false]); |
与其完全禁用验证,不如通过提供适当的CA Bundle文件来解决。 请参阅Guzzle文档中的
1 2 3 4 | $client->setDefaultOption( 'verify', 'C:\Program Files (x86)\Git\bin\curl-ca-bundle.crt' ); |
您不应拨打此电话:
1 | $client->get('/', ['verify' => true]); |
那就是引发错误的原因。 第三行是可以的。
错误就是它所说的。 网址格式错误。 就客户端初始化而言,我使用base_url而不是base_uri。 因此,如果遇到此错误,请确保正确指定了您的网址。
如果您是因为在Google上搜索" Guzzle返回cURL错误3:格式错误"而来这里的,请检查客户端参数。 在某些版本中,它是base_uri和其他base_url
1 2 3 | $client = new Client([ 'base_uri' => 'http://localhost:8000', // <-- base_uri instead of base_url ]); |