使用drupal_http_request()的当前会话

时间:2011-08-22 15:32:55

标签: php session drupal drupal-6

所以我正在使用drupal_http_request()Docs来获取另一个页面......事实是该页面位于登录区域内,因此该函数返回登录页面而不是包含当前会话的正确页面。 ..有没有办法配置drupal_http_request(),以便它使用当前会话来获取页面或传递会话数据?

1 个答案:

答案 0 :(得分:0)

如果要将会话注入HTTP请求,则必须模仿标准行为。根据会话的工作方式,这意味着要么添加会话cookie,要么添加session get参数。

drupal_http_request()Docs允许您指定标头。例如,您可以为会话构建cookie标头,然后将其与请求一起发送。

要了解如何构建Cookie标头,请分析浏览器发送到drupal站点的请求标头,您可以使用firebug进行分析。在请求标头中查找Cookie:标头。请注意,它可能因服务器配置而异。

然后,您可以将Cookie信息添加到$headers参数:

$headers = array('Cookie' => 'your sessionid cookie data');
drupal_http_request($url, $headers);