私はいくつかのデータを取得したい外部APIを持っており、ログアウトするまですべての要求を通してセッションIDを保持したい。この意志出力codeigniterのcURLとのセッションを維持する
public function getCURL() {
echo $this->curl->simple_get('http://37.99.110.537:6001/webapi/auth.cgi?api=SYNO.API.Auth&method=login&version=2&account=myacc&passwd=mypassD&format=sid&session=SurveillanceStation');
}
:私は、以下の流れを(myaccとMYPASSは単なるプレースホルダです)持っているのCodeIgniterのカールのlibを使用して
{"data":{"sid":"lH6WJCWMm5rkA14B0MPN570354"},"success":true}
私はその提供SID(セッションID)を維持する必要がありますとき次の要求を行う:
http://37.99.110.537:6001/webapi/entry.cgi?api=SYNO.SurveillanceStation.Camera&method=GetSnapshot&version=1&cameraId=2×tamp=1480512959&preview=true&_sid="lH6WJCWMm5rkA14B0MPN570354"
は終わり
SID = "lH6WJCWMm5rkA14B0MPN570354"で参照してください。
その後、ログアウトしてそのsidを削除します。
ログインするたびに、そのURLを使って画像を取得してからログアウトするために使用する必要がある新しいsidが表示されます。
私は私のようなものだと思い、私の場合は、ファイルからクッキーを保存し、使用が必要ではないと思われる:それ構文^^
public function getCURL() {
echo $this->curl->simple_get('http://37.99.210.237:6001/webapi/auth.cgi?api=SYNO.API.Auth&method=login&version=2&account=myacc&passwd=mypassD&format=sid&session=SurveillanceStation');
if ($this->form_validation->run()){
$data= array(
'sid'=> $this->input->post('sid'),
'is_logged_in' => true
);
$this->session->set_userdata($data);
if(false == $this->CI->session->userdata('is_logged_in')) {
echo $this->curl->simple_get('http://37.99.110.537:6001/webapi/entry.cgi?api=SYNO.SurveillanceStation.Camera&method=GetSnapshot&version=1&cameraId=2×tamp=1480512959&preview=true&_sid="sid"');
}
}
}
が台無しにされますが、私はそれを作ることができる方法適切な方法、またはリクエストチェーンにセッションIDを保持するための最良の方法は?
「クッキーを保存して使用することは間違っていると思います。 CodeIgniterのセッションはクッキーなしでは動作しません。 – Narf
あなたは 'sid'を' url'に追加するかクッキー経由で送る必要がありますか? – Mubin
URLに追加するだけです。 – Bogdan