source

Guzzle 5에서 잘못된 SSL 인증서 오류를 무시하는 방법

goodcode 2022. 9. 19. 23:37
반응형

Guzzle 5에서 잘못된 SSL 인증서 오류를 무시하는 방법

이것은 하기 쉬울 것이다.Guzzle 3에서 하는 방법에 대한 많은 참고 자료를 찾을 수 있지만 Guzzle 5에서는 작동하지 않습니다.

지금까지 하고 있는 일:

$this->client = new GuzzleClient(['defaults' => [
    'verify' => 'false'
]]);

다음 오류가 표시되는데 요청을 보낼 때:

RequestException in RequestException.php line 51:
SSL CA bundle not found: false

구글에서 이 오류에 대한 유용한 참조를 찾을 수 없습니다.컬 옵션에 액세스 할 수 있으면, 여기서 제안하는 솔루션과 같은 것을 시험해 보겠습니다(Guzzle 3의 경우, 따라서 동작하지 않는 이유).http://inchoo.net/dev-talk/symfony2-guzzle-ssl-self-signed-certificate/, 관련 섹션은 다음과 같습니다.

$req->getCurlOptions()->set(CURLOPT_SSL_VERIFYHOST, false);
$req->getCurlOptions()->set(CURLOPT_SSL_VERIFYPEER, false);

를 사용해 주세요.

$this->client = new GuzzleClient(['defaults' => [
    'verify' => false
]]);

즉, 문자열 'false'가 아닌 부울 false입니다.

매뉴얼은 https://docs.guzzlephp.org/en/5.3/clients.html#verify 에서 구할 수 있습니다.

주의: 몇몇 사람들은 Guzle 6+에 적용되는 다른 답변을 했습니다.이러한 버전을 사용하고 있다면 좋은 답변입니다(단, 원래 질문은 Guzle 5에 대한 것이었습니다).

기능하는 업데이트 버전을 사용해 보십시오.

$this->client = new GuzzleClient(['base_uri' => 'https://api.example.com/', 'verify' => false ]);

또는 보다 간단한 버전:

    $this->client = new GuzzleClient(['verify' => false ]);

버전 6.2-dev로 테스트 완료.

실제 버전은 올바른 버전입니다.

$this->client = new GuzzleClient(['verify' => false ]);

2018년에는 이 기능이 작동하지 않습니다.

$this->client = new GuzzleClient(['defaults' => [
    'verify' => false
]]);

새로운 larabel 클라이언트버전에서 를 사용할 수 있습니다.

$http = new Client(['verify' => false]);

언급URL : https://stackoverflow.com/questions/28066409/how-to-ignore-invalid-ssl-certificate-errors-in-guzzle-5

반응형