注册 登录
编程论坛 PHP技术论坛

高手指点一下php如何实现这种功能

yang_chong 发布于 2010-01-26 20:33, 784 次点击
网页不需要登陆时,在一个输入框输入一个网址,点按钮后就能获取那个网页的源文件。

通过用php 的file_get_contents 函数可以实现,但需要登陆这种方法就不行了。

现在有什么方法能获取通过登陆后看到的当前浏览网页源文件,而不是通过查看源文件然后再复制这种方法。

听说VB能实现这种功能,PHP有方法实现吗?

谢谢大家了!我没有分,我有分的话,我多给大家点。

2 回复
#2
外部三电铃2010-01-26 21:52
推荐PHP的curl扩展,CURL就等于个小浏览器,浏览器能进行的登录等操作CURL都可以进行

curl用法:cookie及post
一、cookie用法



<?php
$cookie_jar = tempnam('./tmp','cookie');
// login
$c=curl_init('http://login_url?username=...
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_COOKIEJAR, $cookie_jar);
curl_exec($c);
curl_close($c);
 
$c="url";
$c=curl_init($c);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_COOKIEFILE, $cookie_jar);
curl_exec($c);
curl_close($c);
?>
二、post用法
特别要注意:post的数据要经过urlencode编码



<?php
$postdata="user=".urlencode($data);
$c=curl_init($c);
curl_setopt($c, CURLOPT_POST, 1);
curl_setopt($c, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_exec($c);
curl_close($c);
?>

更多可以搜索一下curl相关资料
#3
yang_chong2010-01-27 11:07
先谢过了,非常感谢!
暂时不明白,我先研究。
1