HTTP-запрос в Laravel не работает

#php #laravel

#php #laravel

Вопрос:

Это мой файл маршрута:

 Route::get('/','guzzle@guzzle'); 
  

И это мой класс контроллера:

 use AppHttpRequests;
use GuzzleHttpClient;

class guzzle extends Controller
{
    public function guzzle(){

    $client = new GuzzleHttpClient();
    $request = $client->head('http://www.amazon.com');

    $response = $request->send();
    echo $response->getContentLength();
  

В моем браузере появилось следующее сообщение об ошибке:

Исключение FatalErrorException в guzzle.php строка 17:
Класс ‘App Http Controllers GuzzleHttp Client’ не найден

Я не знаю, как исправить эту проблему. Кто может мне помочь?

Комментарии:

1. Вместо use GuzzleHttpClient; этого используйте use GuzzleHttpClient; . То, что вы сейчас делаете, вызывает GuzzleHttp, как если бы он находился в том же пространстве имен, которым он не является.

2. я тоже попробовал это, ошибка, которую я получаю, выглядит так::::::; Ошибка cURL 7: не удалось подключиться к www.amason.com порт 443: Время ожидания истекло (см. curl.haxx.se/libcurl/c/libcurl-errors.html )

3. Failed to connect to www.amason.com Вы уверены, что это произойдет www.amazon.com , а не www.amason.com ?

4. Извините за опечатку….. На самом деле не удалось подключиться к какому-либо веб-сайту. даже мой школьный сайт ::::: я всегда получаю эту ошибку ::::::: Ошибка cURL 60: Проблема с сертификатом SSL: не удается получить локальный сертификат эмитента (см. curl.haxx.se/libcurl/c/libcurl-errors.html )

5. Извините за опечатку….. На самом деле не удалось подключиться к какому-либо веб-сайту. даже мой школьный сайт ::::: я всегда получаю эту ошибку ::::::: Ошибка cURL 60: Проблема с сертификатом SSL: не удается получить локальный сертификат эмитента (см. curl.haxx.se/libcurl/c/libcurl-errors.html )

Ответ №1:

После того, как вы импортировали класс:

 use GuzzleHttpClient;
  

Вы не должны вводить полное пространство имен класса при его создании:

неправильно: new GuzzleHttpClient();

правильно: new Client();

Ответ №2:

Вы также можете избавиться от префикса пространства имен с помощью этого:

 $client = new GuzzleHttpClient();