我在同一个域下的服务器上运行Drupal和Mediawiki。它们通过扩展/模块相互连接。这意味着如果我登录Mediawiki,它也会自动登录到Drupal。
Mediawiki有一些扩展程序可以过滤页面上显示的信息。
我想要做的是在Drupal页面上显示来自Mediawiki的过滤信息。我正在尝试使用PHP cURL获取数据,但我无法强制它使用登录信息。
如何将PHP的$ _COOKIE转换为cURL cookie.txt格式?我想在那之后我能够使用正确的权限从Mediawiki获取数据。
这就是print_r($ _ COOKIE)输出的内容:
[wiki_session] => gg05lhd6pcfs5g6iokhoo0gue7
[wikiUserName] => WikiSysop
[wikiLoggedOut] => 20100510110913
[wikiUserID] => 1
[wikiToken] => 52cdb19a7b4a43e5a2f86939e4f54941
感谢您的帮助!
答案 0 :(得分:1)
我认为cookie文件是一个由以下字段组成的制表符分隔文件:
我猜文件中的多行会对应多个Cookie,但我不确定
所以你的cookie可能是
www.domain.com TRUE / FALSE 12395013 wiki_session gg05lhd6pcfs5g6iokhoo0gue7
www.domain.com TRUE / FALSE 12395013 wikiUserName WikiSysop
等等
答案 1 :(得分:0)
实际上我找到了一种用file_get_contents代替cURL的方法。
这就是问题的解决方法:
$ opts = array('http'=> array('header'=>'Cookie:'。$ _SERVER ['HTTP_COOKIE']。“\ r \ n”));
$ context = stream_context_create($ opts);
$ contents = file_get_contents('http://foo/bar',false,$ context);
答案 2 :(得分:0)
要创建cookie,请使用以下函数 的setcookie(名称,值,过期,路径,域)