<?php
// create a new instance of curl we can configure
$curl = curl_init('http://google.com');
// begin configuring that instance
curl_setopt($curl, CURLOPT_COOKIE, 'PHPSESSID=12345ABCDE67890');
// now fire off the result, with the specified cookie attached
// (in this case, it's fetching google.com with a cookie named PHPSESSID
// and a value of 12345ABCDE67890)
$result = curl_exec($curl);
4条答案
按热度按时间4sup72z81#
php会话默认情况下是在cookie中传输的,如果你通过cURL获得网站,并试图访问同一网站的另一部分,那么你必须添加从cURL获得的会话
v2g6jxz62#
对于将用户从一个站点切换到另一个站点并仍保持其“已登录”状态的问题,您可能需要考虑一种替代解决方案。
我发布了一个类似的主题的回应,你可能想看看:在PHP中从HTTP切换到HTTPS时会话丢失
简而言之,您可以创建一个哈希键,将用户重定向到站点B,查找哈希键,如果它们一致,则将用户登录到站点B。
pdsfdshx3#
首先,会话和cURL是完全不同和不相关的东西。会话就像当前用户的服务器端缓存。cURL是PHP中发送HTTP请求的一种方式,如GET和POST。一些API需要使用cURL来从您自己的PHP脚本/代码中与它们交互。
函数的作用是:获取或设置当前用户的当前会话ID。例如,如果你想将会话ID设置为7,你可以调用
如果要获取会话ID,可以调用
会话id是在调用session_start()时生成的,除非在调用session_start()之前已经自己设置了它。
1l5u6lss4#
cURL是一个用于建立到服务器的连接的库(就像您的Web浏览器一样),并且没有
session_id
(因为它只是检索客户端看到的内容,而session_id()
将是一个服务器端方法)。也就是说,* 通常 * 会话ID可以在请求的头中找到,比如
Set-Cookie
头(或者有时在URL本身中)。因此,如果您需要确定会话,我将使用cURL的Cookie Jar功能来查找,或者确保检索带有头的内容,以便您可以查看Set-Cookie
值。跟进:
curl_init
正在建立一个新的cURL请求。基本上,它创建了一个新的cURL示例,然后您可以使用许多curl_setopt
设置中的任何一个来配置该示例。curl_exec
根据您的配置执行cURL请求并返回结果。根据您的设置,这可能是您要访问的实际内容、一组头、单个状态结果或其他值。