2016-05-16 9 views
0

私は、Web開発のREST APIスタイルを初めて使用しています。 1つのREST APIとともに2つのCookieを送信する必要があります。リンクをクリックしてそれらを一緒に送信するにはどうすればよいですか?PHP:リンクをクリックしてREST APIコールでCookieを送信するにはどうすればよいですか?

たとえば、ユーザーがリンクをクリックすると、REST APIが呼び出され、Cookieが送信されます。私はcURLでそれを行う方法を知っていますが、私はリンクを介してどのようにそれを引き起こすことができるのか混乱しています。理想的には、ユーザーはリンクをクリックしてzipファイルをダウンロードできるはずです。リンクはREST APIを呼び出し、2つのクッキーを送信してzipファイルを取得する必要があります。次のコードを使用してzipファイルの生コードを取得することはできますが、リンクをクリックすることでそのコードを達成することはできません。

$getResultsDetails = curl_init(); 
    $getResults_service_url = '<URL of the REST API call>'; 
    curl_setopt($getResultsDetails,CURLOPT_URL,$getResults_service_url); 
    curl_setopt($getResultsDetails,CURLOPT_COOKIE,"LWSSO_COOKIE_KEY=".$LWSSO_COOKIE_KEY.";QCSession=".$QCSession); 
     curl_setopt($getResultsDetails, CURLOPT_RETURNTRANSFER, true); //get response 
     $getResults_service_url_response = curl_exec($getResultsDetails); 
     curl_setopt($getResultsDetails, CURLOPT_RETURNTRANSFER, true); 
     if ($getResults_service_url_response === false) { 
      $info = curl_getinfo($getResultsDetails); 
      curl_close($getResultsDetails); 
      die('error occured during curl exec. Additional info: ' . var_export($info)); 
     } 
     curl_close($getResultsDetails); 

どのように私はそれを達成することができますか?

答えて

1

これはほとんどがthisの複製ですが、「どうすればいいですか?部。だから、その質問の答えに追加するビットをheres。

リンクを使用して、あなたのユーザーを呼び出しているPHPスクリプトに誘導してください。

あなたは2通りの方法でこれを行うことができます。1.

<a href="yourCurlScript.php">click me</a> 

は、クッキーの一部を行う方法の詳細についてはthis answerをお読みください。

または

2.

はjqueryのを使用して、AJAX呼び出しを使用します。

from jquery docs

$.ajax({ 
    type: "POST", 
    url: "path/to/yourCurlScript.php", 
    data: data, 
    success: success, 
    dataType: dataType 
}); 

同じスクリプトが呼び出されると、プロセスのクッキーので、同じように。

最高のユーザーエクスペリエンスのために私はおそらく2番を選ぶだろう。あなたがAPIからの検索を計画しているのは分かっていないが、どちらかを使ってファイルにパイプすることができる。

関連する問題