我是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中检索什么,但你可以使用任何一种方法将其管道传输到文件中。