我的cURL请求不会在我的PHP页面上创建cookie
我现在从卷曲开始,遇到了一个问题: 我正在尝试对另一个域中的页面进行简单请求 此页面包含以下用于创建简单cookie的内容 test.php 首先,我通过ajax请求此页面,如下所示:我的cURL请求不会在我的PHP页面上创建cookie,php,curl,cookies,Php,Curl,Cookies,我现在从卷曲开始,遇到了一个问题: 我正在尝试对另一个域中的页面进行简单请求 此页面包含以下用于创建简单cookie的内容 test.php 首先,我通过ajax请求此页面,如下所示: <!-- Simple ajax request --> <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script> <!-- Jquery --> <script>
<!-- Simple ajax request -->
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script> <!-- Jquery -->
<script>
$.ajax({
url: 'https://example.com/test/test.php',
type: 'GET',
dataType: 'jsonp'
});
</script>
当我运行上面的代码时,cookie通常是在我的浏览器上创建的
然后,我尝试使用以下代码对cURL执行相同的任务:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://example.com/test/test.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
curl_close($ch);
?>
但当我执行上述代码时,什么也没有发生,因此没有返回错误消息,我的疑问来了:
cURL和AJAX之间的请求有什么区别?它们有相同的用途吗?何时使用一个,何时使用另一个?为什么没有创建cookie?这是代码出了问题还是curl的一个特定特性
我希望我的问题已经很清楚了,因为我正在开始一些概念对我来说还不是很清楚,谢谢
cURL和AJAX之间的请求有什么区别
cURL的使用方式允许您从服务器上运行的PHP程序发出HTTP请求
Ajax是一个用于从浏览器中运行的JavaScript发出HTTP请求的术语
何时使用一个,何时使用另一个
当浏览器需要与URL通信时,请使用Ajax。当服务器需要与URL通信时,请使用PHP
为什么没有创建cookie
因为浏览器没有发出HTTP请求,所以它没有得到带有Set Cookie头的HTTP响应
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://example.com/test/test.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
curl_close($ch);
?>