drupal_http_request返回错误代码

时间:2014-05-15 06:37:57

标签: php sockets drupal curl drupal-hooks

我有三个网站Main,a,b。如果您通过" Main"登录网站然后我将启用网站会议" a"," b"。所以这很好。当用户退出主网站时,我必须登出其他两个网站" a"," b"。另外两个网站有两个不同的注销网址,因此我使用drupal_http_request在主网站的注销功能中调用这两个网站的注销网址

示例代码:

// this is the function where main website session are destroyed
function mymodule_logout(){ 

session_destory(); 

$request =  drupal_http_request("http://B-website.com:8083/VideoBook/signout.action");

print_r($request); 

if($request) { 
drupal_goto($logout_url,$options); 
}


}

输出:

stdClass Object ( [code] => 0 
[error] => Error opening socket ssl://mywebsite.com:8443 
[redirect_code] => 302 
[redirect_url] => https://mywebsite.com:8443/cas/login?service=http%3A%2F%2Fmywebsite2.com%3A8083%2FVideoBook%2Flogin.action )

B-website-logout-url:http://B-website.com:8083/VideoBook/signout.action

当我在浏览器选项卡中运行此注销网址时,所有会话和cookie都被销毁,但是当我使用drupal_http_request(' http://B-website.com:8083/VideoBook/signout.action')运行此注销网址时; ,然后它会导致错误"错误打开套接字ssl://" 。提前致谢。

1 个答案:

答案 0 :(得分:0)

基本上,signout.action需要会话数据,即当前登录的用户详细信息,但我们无法通过curl发送会话数据。所以它重定向到login.action。因此导致错误代码302.