試圖讓我的Symfony2控制器向支持的API發出請求。需要存儲在第一個API請求時收到的cookie,以便在第二個請求中使用它。Symfony2咕咕店存儲請求的cookie
這是我的控制器的代碼:
use Guzzle\Http\Client;
use Guzzle\Plugin\Cookie\CookiePlugin;
use Guzzle\Plugin\Cookie\CookieJar\ArrayCookieJar;
class DefaultController extends Controller
{
public function verifyurlActionOK(Request $request)
{
$cookiePlugin = new CookiePlugin(new ArrayCookieJar());
$client = new Client();
$this->get('session')->set('client', $client);
$client->addSubscriber($cookiePlugin);
$request = $client->get('https://address/scanit?url='.$scantarget);
$response = $request->send();
}
public function progressAction(Request $request)
{
$cli = $session->get('client');
$crequest = $cli->get('https://address/progress');
$response = $crequest->send();
return $this->render('AppBundle:Default:progress.html.twig',
array(
'response' => $cresponse->getBody()));
}
}
試圖在會話(串行化)來設定客戶端作爲DefaultController類的公共變量和如上述。雙方似乎都沒有工作,這裏的progressAction
[2016-11-29 16:22:46] request.CRITICAL: Uncaught PHP Exception Symfony\Component\Debug\Exception\FatalErrorException: "Error: Call to a member function get() on a non-object"
如何從verifyurlActionOK訪問$客戶端progressAction的get()錯誤出現?
感謝,
的'$ session'變量沒有在'progressAction'方法initialyzated – Matteo