PHP:如何通过单击链接发送带有REST API调用的cookie?

时间:2016-05-16 10:08:48

标签: php api rest curl cookies

我是Web开发的REST API风格的新手。我必须发送2个cookie和1个REST API。如何通过点击链接将它们发送到一起?

例如,如果用户单击该链接,则应该进行REST API调用并随之发送cookie。我知道如何在cURL中做到这一点,但我对如何通过链接触发它感到困惑。理想情况下,用户应该能够通过单击链接下载zip文件。该链接应调用REST API并发送2个cookie以获取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 个答案:

答案 0 :(得分:1)

这大部分都是this的副本,但添加了“我如何?”&#39;部分。所以,继续说明这个问题的答案。

只需使用链接将用户定向到进行调用的php脚本。

你可以通过两种方式做到这一点:

1。

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

阅读this answer,了解有关如何执行Cookie部分的详细信息。

2. 使用jquery:

使用ajax调用

from jquery docs

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

调用相同的脚本,因此以相同的方式处理cookie。

为获得最佳用户体验,我可能会选择2号。我不知道您计划从API检索是什么,但您可以使用其中任何一种将其管道传输到文件中。