1
我對php比較陌生,但我試圖重定向並從我的應用程序登錄到外部URL。我有證書,並試圖張貼他們,但我真正能夠實現的是「成功」。如果我通過laravel的 - > redirect()或標頭(位置:blah.php)重定向,則會出現我的憑據未發送的錯誤。我已經嘗試使用cURL和Guzzle到目前爲止。是否有通過登錄憑據重定向的工作示例?php重定向並登錄
嘗試1:
$client = new Client(array('curl' => array(CURLOPT_SSL_VERIFYPEER => false)));
$url = "url.php";
$data = array('email' => '[email protected]', "pass" => 'pass');
$data_string = json_encode($data);
$res = $client->post($url, [ 'body' => $data_string ]);
$code = $res->getStatusCode();
if($code == '200'){
$this->redirect($url);
// return redirect()->away($url);
} else {
return redirect('/register')
}
嘗試2:
$POSTFIELDS = json_encode($data);
$cookie_file_path = "cookie.txt";
$fp = fopen($cookie_file_path,'w');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$POSTFIELDS);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
$result = @curl_exec ($ch);
if($result) {
header("Location: url.php");
}
curl_close ($ch);
預期的行爲,用戶在當前應用程序保存的數據,將被添加到註冊DB然後這些憑證傳遞給繼承應用程序對登錄,他們在那裏看到該頁面,就好像他們在那裏登錄一樣。
因此,我們你試過什麼,什麼是輸出和什麼是你的預期輸出? –
@MASIDDIQUI,請參閱編輯 – itchyclothes
嗯,這裏有兩個不同的會話。一個在用戶和你的服務器之間,一個在你的服務器和你的舊版應用之間。您需要將會話cookie從舊應用程序設置到您的用戶會話。 –