Guzzle 사이트는 매우 약한 문서입니다. 라이브러리의 모든 기능을 사용하려면 소스 코드를 살펴야하지만, 여전히 소스 코드를 완전히 이해할 수는 없다는 것을 깨달았습니다.구근으로 쿠키를 얻는 방법?
어떤 웹 사이트에서 Guzzle로 쿠키를 얻는 방법? 어떤 수업을보아야합니까?
Guzzle 사이트는 매우 약한 문서입니다. 라이브러리의 모든 기능을 사용하려면 소스 코드를 살펴야하지만, 여전히 소스 코드를 완전히 이해할 수는 없다는 것을 깨달았습니다.구근으로 쿠키를 얻는 방법?
어떤 웹 사이트에서 Guzzle로 쿠키를 얻는 방법? 어떤 수업을보아야합니까?
guzzle의 쿠키 표현은 PSR-7의 ServerRequestInterface
implementation의 일부입니다 (예 : ServerRequest
클래스). 클래스에는 배열 속성 $cookieParams
이 정의됩니다. 이 변수에 $_COOKIE
변수 (정적 메서드 fromGlobals()
호출) 또는 선택한 배열 ($_COOKIE
포함)을 withCookieParams()
으로 호출하여 할당 할 수 있습니다. $cookieParams
어레이의 내용을 읽으려면 getCookieParams()
으로 전화하면됩니다.
fromGlobals()
을 사용하여 실시 예 - ServerRequest
공장의 역할을 갖는 - 요청의 불변성을 유지하기 위해 직접 ServerRequest
인스턴스를 생성하고 그것의 복사본에 쿠키 배열을 할당
<?php
use GuzzleHttp\Psr7\ServerRequest;
/**
* Create a ServerRequest instance, populated with superglobals:
* $_GET
* $_POST
* $_COOKIE
* $_FILES
* $_SERVER
*/
$serverRequest = ServerRequest::fromGlobals();
// Display the content of $_COOKIE.
var_dump($serverRequest->getCookieParams());
예 객체 :
<?php
use GuzzleHttp\Psr7\ServerRequest;
// Directly create a ServerRequest instance.
$serverRequest = new ServerRequest('GET', 'http://localhost/mypath?var=somevar#myfragment', [], NULL, '1.1', $_SERVER);
// Create a clone instance with the specified cookies array.
$serverRequest = $serverRequest->withCookieParams($_COOKIE);
// Display the content of the cookies list.
var_dump($serverRequest->getCookieParams());
또한 예를 들어, 클래스 GuzzleHttp\Cookie\CookieJar
(here 참조)이 내가 다른 구현, GuzzleHttp\Cookie\CookieJarInterface
의 하나가
이 CookieJar
클래스에서는이 생성자에 $cookieArray
을 할당하고, getCookieByName()
의 값 (getCookieValue()
을 처리하기 위해 몇 가지 방법이있을 수 있습니다에서 http://docs.guzzlephp.org에 문서화 s의 , setCookie()
등).
감사합니다. 첫 번째 링크 인 "Quickstart Cookies"에 대한 코드를 알아 냈습니다. 쿠키를 제공하지 않는 도메인을 요청했습니다. –
당신은 오신 것을 환영합니다. 그 때 중대한. 실제로,'CookieJar' 기능은 따라하기 쉽습니다. 행운을 빕니다. –