PHP:如何通过点击链接使用REST API调用发送cookie


PHP: How to send cookies with REST API call by clicking on a link?

我是web开发的RESTAPI风格的新手。我必须发送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);

有什么想法我可以做到吗?

这大部分是重复的,但添加了"how do I?"部分所以,这是对这个问题的回答的补充。

只需使用一个链接将用户引导到进行调用的php脚本。

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

1.

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

阅读这个答案,了解如何做cookie部分的详细信息。

2.使用jquery:使用ajax调用

来自jquery文档

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

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

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