得到SESSION_ID()我有卷曲几个问题:如何从卷曲
我需要使用
session_start()
与卷曲?如果不是,我如何从cURL获得
session_id()
?什么时候产生了
session_id()
?初始化cURL会话(
curl_init
)和执行cURL会话(curl_exec
)有什么区别?
得到SESSION_ID()我有卷曲几个问题:如何从卷曲
我需要使用session_start()
与卷曲?
如果不是,我如何从cURL获得session_id()
?
什么时候产生了session_id()
?
初始化cURL会话(curl_init
)和执行cURL会话(curl_exec
)有什么区别?
卷曲是建立到服务器(就像你的web浏览器一样)连接一个库,没有session_id
可言(因为它只是检索客户端所看到的和session_id()
将是一个服务器端的方法) 。
就是说,通常是会话ID可以在请求的标头中找到,例如Set-Cookie
标头(或有时在URL本身中)。因此,如果您需要确定会话,我将着眼于使用cURL的Cookie Jar功能,或确保检索和标题的内容,以便您可以查看Set-Cookie
的值。
后续:
curl_init
正在建立一个新的卷曲请求。基本上,它会创建一个新的cURL实例,然后您可以使用众多的curl_setopt
设置进行配置。curl_exec
是根据您的配置执行cURL请求并返回结果。根据您的设置,这可能是您要进行的实际内容,一组标题,单个状态结果或其他值。<?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);
PHP会话Cookie中默认transmited,如果通过卷曲得到网页,并试图访问同一网页的另一部分,则必须添加你从了会议cURL
您可能需要考虑将用户从一个站点切换到另一个站点并仍保持其“登录”状态的替代解决方案。
我张贴类似的话题的响应,你可能想看看:Session lost when switching from HTTP to HTTPS in PHP
概括地说,你可以创建一个哈希键,将用户重定向到站点B,查找哈希键,如果他们排队将用户登录到siteB。
首先,会话和cURL是完全不同和不相关的东西。会话就像当前用户的服务器端缓存。 cURL是一种用PHP发送HTTP请求的方式,例如GET和POST。一些API需要使用cURL从您自己的PHP脚本/代码中与它们进行交互。
session_id()函数用于获取或设置当前用户的当前会话ID。如果你想设置的会话ID 7例如,你会打电话
session_id(7);
session_start();
如果你想获取会话ID,你会打电话
session_start();
$CurrentSessID = session_id();
,当你调用生成会话ID session_start(),除非在调用session_start()之前自己设置它。
你想完成什么? PHP会话和cURL并没有太大的关系。 – 2011-12-14 18:47:00
你能解释你想完成什么吗?在这个问题中,你认为会话和cURL没有任何共同之处。 – Lars 2011-12-14 18:47:29