file_get_contents()能否支持页面要求cookie的

tian428 2008-11-06 12:33:01
file_get_contents读取一个页面时却获取的是要求登录的页面,而非真实的页面(本地已有cookie文件)。

file_get_contents可以传输cookie吗?如何从cookie文件中分析出要传输的cookie信息?
...全文
527 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
owner888 2011-06-28
  • 打赏
  • 举报
回复
可以的,例子如下
<?
$data = array
(
'msg_author' => 'poster',
'msg_body' => 'gsd958gjsj sdj958fdsj',
'event' => 'comment',
'pid' => '15',
'submit' => 'OK',
);

function Post($url, $post = null)
{
$context = array();
if (is_array($post))
{
ksort($post);
$context['http'] = array
(
'method' => 'POST',
'header' => 'Cookie: 62be229b68f9a8202715cdd8c7092e31=63b33644fd6ed03214ed3887d7ead743; expires=Wed, 28-Jul-2010 13:53:37 GMT;...',
'content' => http_build_query($post, '', '&'),
);
}
return file_get_contents($url, false, stream_context_create($context));
}

echo Post('http://domain/post.php', $data);
?>
tian428 2008-11-10
  • 打赏
  • 举报
回复
使用curl里面的COOKIEFILE字段来指定cookie文件的位置。

这个比较符合我现在情况, 有这样的例子吗?
海诗美妆 2008-11-06
  • 打赏
  • 举报
回复
建议lz做一个HTTP客户程序比较来的直接
http://framework.zend.com/manual/zh/zend.http.html
程序猿之殇 2008-11-06
  • 打赏
  • 举报
回复
应该是可以的吧,记得前些日子有个兄弟想构造163模拟登录的时候就用过这个方式.
成不成功,有待测试!
fxs_2008 2008-11-06
  • 打赏
  • 举报
回复
目前没遇过
但见过一朋友传过header ,并且传了prefer
所以,如果是不是动态cookie,应是可以的
见第三个参数,并设置流 ,stream
看手册
an9ryfr09 2008-11-06
  • 打赏
  • 举报
回复
似乎可以,不过我没使用过file_get_contents的后几个参数。

在php中,一般来说,发送cookie使用两种方法,一种是使用socket将cookie信息构造在http头里面的方式,另一种是使用curl里面的COOKIEFILE字段来指定cookie文件的位置。

用file_get_contents的还真少见,不过我认为curl比它更好用一些。
logccve 2008-11-06
  • 打赏
  • 举报
回复
file_get_contents 不支持.
但PHP有方法进行COOKIE的提交.
你百度一下"curl cookie"

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧