php100学习记录87-88

87讲
curl是一个利用URL语法在命令行方式下工作的文件传输工具。其功能如下:
  1、实现远程获取和采集内容
   2、实现PHP 网页版的FTP上传下载
   3、实现模拟登陆
   4、实现接口对接(API),数据传输等
   5、实现模拟Cookie等

介绍了CURL的使用方法,首先要开启php_curl.dll扩展
下面是87讲的代码,下载
index.php

<?php
 
//$curl=curl_init(); //初始化一个CURL对象
//
//curl_setopt($curl, CURLOPT_URL, "http://www.baidu.com");
////设置需要抓取的URL
//
//curl_setopt($curl,CURLOPT_RETURNTRANSFER,0);
////设置参数,1为保存成字符串,0为输出到页面
//
//$data=curl_exec($curl);// 执行curl,请求网页
//
//curl_close($curl);//关闭URL请求
 
$user = "admin";
$pass = "admin100";
$curlPost = "user=$user&pass=$pass";//以类似get形式的提交,写出POST提交的内容
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost/87/login.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_POST, 1);//设置什么方式提交
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);//POST提交的内容是什么,指向$curlPost
$data = curl_exec($ch); 
curl_close($ch);
 
?>

login.php

<?php
 
if($_POST[user]){
	echo $_POST[user]."<br>";
	echo $_POST[pass];
}else{
	echo "false";
}
?>

88讲
介绍了远程模拟登录的功能
第一步,分析登录需要的字段名
第二步,利用curl进行post提交,保存cookie值在本地
第三步,读取cookie值,访问远程页面

最后:PHP中的CURL函数库 http://www.php100.com/html/webkaifa/PHP/PHP/2010/0620/4789.html
代码如下,下载
index.php

<?php
$cookie_file = tempnam('./temp', 'cookie');//参数:文件夹目录、前缀
$curlPost    = "lgt=0&step=2&pwuser=php100_88&pwpwd=111111&hideid=1&cktime=3600";
//以类似get形式的提交,写出POST提交的内容,帐号密码改成自己的
$ch          = curl_init("http://bbs.php100.com/login.php");
 
curl_setopt($ch, CURLOPT_HEADER,0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);//设置什么方式提交
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);//POST提交的内容是什么,指向$curlPost
curl_setopt($ch, CURLOPT_COOKIEJAR,$cookie_file);//保存cookie到文件夹
curl_exec($ch); 
curl_close($ch);
 
//=======================
$ch          = curl_init("http://bbs.php100.com/userpay.php");
//$ch          = curl_init("http://bbs.php100.com/thread-htm-fid-2.html");
curl_setopt($ch, CURLOPT_HEADER,0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);//设置什么方式提交
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);//POST提交的内容是什么,指向$curlPost
curl_setopt($ch, CURLOPT_COOKIEFILE,$cookie_file);//获取COOKIE
$data = curl_exec($ch);
 
echo $data;
$pattern="/<title>(.*)<\/title>/";//正则替换,打印出标题
preg_match($pattern, $data,$arr);
print_r($arr);
 
curl_close($ch);
//PHP中的CURL函数库 http://www.php100.com/html/webkaifa/PHP/PHP/2010/0620/4789.html
?>

Related posts:

Leave a Reply

Your email address will not be published.