簡體   English   中英

Guzzle 返回 cURL 錯誤 3:<url> 畸形的

[英]Guzzle returns cURL error 3: <url> malformed

我想試用 guzzle 庫,並按照他們的快速入門教程向 api 發出 http 請求。

但它似乎不起作用,因為我收到以下錯誤:

cURL error 3: <url> malformed

由於我以前從未使用過 cURL,因此我什至不知道如何響應該錯誤消息。 這是我提出的請求的代碼:

    $client = new Client();
    $client->get('/', ['verify' => true]);

    $response = $client->get('https://api.github.com/');

    dd($response);

我正在使用 Laravel 5 框架並在我的 HomeController 中調用 index 方法。 也正在使用 WAMP。

我很感激任何幫助和建議,因為我想嘗試 Guzzle。

這是我收到的錯誤消息的圖片:

Laravel 5 錯誤信息

如果您是因為搜索“Guzzle 返回 cURL 錯誤 3:格式錯誤”而來到這里的,請檢查客戶端參數。 在某些版本中它是base_uri和其他base_url

    $client = new Client([
        'base_uri' => 'http://localhost:8000',  // <-- base_uri instead of base_url
    ]);

如果您想禁用驗證(不要這樣做! ):

$response = $client->get('https://api.github.com/', ['verify' => false]);

這可以通過提供適當的 CA 包文件來解決,而不是完全禁用驗證。 請參閱 Guzzle 文檔中的verify

$client->setDefaultOption(
    'verify', 
    'C:\Program Files (x86)\Git\bin\curl-ca-bundle.crt'
);

你不應該有這個電話:

$client->get('/', ['verify' => true]);

這就是拋出錯誤的原因。 第三行沒問題。

錯誤就是它所說的意思。 網址格式不正確。 instead of .在我的客戶端初始化案例中,我使用了而不是 因此,如果您遇到此錯誤,請確保正確指定了您的 url。

就我而言,我錯誤地將環境文件命名為“env”

確保它存在於根路徑並命名為“.env”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM