我知道这个功能在PHP创建并返回一个流上下文与选项预置中提供的任何选项。我也知道我可以用它来做我想做的事,即通过我的用户名和密码凭证......但我仍然不太清楚如何使用此功能,以及说明中复杂的单词的确切含义是什么真让我困惑......我有这个例子中的代码,但我不知道如何使用这个特性将凭据传递到www.confluence.com(只有我可以从apache服务器上访问它)。有人可以请解释或举例说明我如何使用它来传递证书?php stream_context_create混淆
编辑:这里是总结,很短,所以不知道如果你把它称为一个总结....我被分配了一个应用程序...... .....有大约10种不同的方式来做到这一点。由于他们给我的限制,我只能用我发现的一种方式工作...我非常沮丧,因为使用谷歌日历有很简单的方法来做到这一点,但他们拒绝,由于安全原因,所以我卡住了合流日历.....除此之外,为了使这更难,汇合由外部公司托管,所以我甚至不能使用get_contents直接访问汇合日历,因为它要求登录凭证....我不是一个职业在这个和一个又一个障碍不断弹出,使我的生活更加艰难,这只是BBS ...我花了几个小时在过去三个星期找到解决方案只是拒绝...我终于得到了这个get_contents thingy工作,但现在登录凭证是一个痛苦的屁股,我从来没有处理这个,所以我尽我所能,但我绝对没有想法什么stream_context_create做甚至如何使用它来传递我的凭据......合流网站我正在尝试访问我可以使用m手动登录y登录,但代码不能....合流是在Apache服务器上,所以其他人无法访问它....我无法分享我的登录信息,因为这是公司的安全问题......我很抱歉,如果我没有任何意义但我非常沮丧,无法找到解决方案,我的思想已经从编码和阅读中消失了一半 相信我,我已经做了大量的搜索和Google搜索......但IVE终于达到了我空白的地步卡住了...
<?php
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"Cookie: foo=bar\r\n"
)
);
$context = stream_context_create($opts);
/* Sends an http request to www.example.com
with additional headers shown above */
$fp = fopen('http://www.example.com', 'r', false, $context);
fpassthru($fp);
fclose($fp);
?>
我发现了一些额外的代码在这里类似于我在做什么,但不知道如何做这个或如何修改它..
$data = array('account'=>'javier',
'password'=>'12345',
'submit'=>'SUBMIT');
$content = file_get_contents('http://localhost/misc/login.php', false, stream_context_create(array('http' => array('method' => 'POST', 'content' => http_build_query($data)))));
$sFind = 'Logged in';
$search = strpos($content, $sFind);
echo $content;
if($search === false){
echo 'Invalid Account';
}
else {
echo 'Valid Account';
}
ANOT她的想法是使用JavaScript进行登录...我不知道哪个更好,但我不允许下载任何库或其他建议。
我不完全确定你在问什么。哪一部分让你感到困惑?你尝试过什么,给你什么错误?你可以发布一些你的代码吗? – pinkgothic 2011-06-07 15:33:54