Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2468804
  • 博文数量: 392
  • 博客积分: 7040
  • 博客等级: 少将
  • 技术积分: 4138
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-17 13:03
个人简介

范德萨发而为

文章分类

全部博文(392)

文章存档

2017年(5)

2016年(19)

2015年(34)

2014年(14)

2013年(47)

2012年(40)

2011年(51)

2010年(137)

2009年(45)

分类: Python/Ruby

2012-10-10 17:04:10


使用 php curl模拟 

01
02!extension_loaded('curl') && die('The curl extension is not loaded.');  
03   
04$discuz_url = '';//论坛地址  
05$login_url = $discuz_url .'/do.php?ac=login';//登录页地址  
06$get_url = $discuz_url .'/space.php?do=home'; //我的帖子  
07   
08$post_fields = array();  
09//以下两项不需要修改  
10$post_fields['loginfield'] = 'username';  
11$post_fields['loginsubmit'] = 'true';  
12//用户名和密码,必须填写  
13$post_fields['username'] = '你的用户名';  
14$post_fields['password'] = '你的密码';  
15$post_fields['refer'] = 'space.php?do=home';  
16   
17//获取表单FORMHASH  
18$ch = curl_init($login_url);  
19curl_setopt($ch, CURLOPT_HEADER, 0);  
20curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
21$contents = curl_exec($ch);  
22curl_close($ch);  
23preg_match('//i', $contents, $matches);  
24if(!empty($matches)) {  
25    $formhash = $matches[1];  
26} else {  
27    die('Not found the forumhash.');  
28}  
29 $post_fields['formhash']=$formhash;
30//POST数据,获取COOKIE  
31$cookie_file = dirname(__FILE__) . '/cookie.txt';  
32//$cookie_file = tempnam('/tmp');  
33$ch = curl_init($login_url);  
34curl_setopt($ch, CURLOPT_HEADER, 0);  
35curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
36curl_setopt($ch, CURLOPT_POST, 1);  
37curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);  
38curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);  
39curl_exec($ch);  
40curl_close($ch);  
41   
42//带着上面得到的COOKIE获取需要登录后才能查看的页面内容  
43$ch = curl_init($get_url);  
44curl_setopt($ch, CURLOPT_HEADER, 0);  
45curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);  
46curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);  
47$contents = curl_exec($ch);  
48curl_close($ch);  
49   
50var_dump($contents);  
51?>
阅读(6383) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~