参考:http://our2848884.blog.163.com/blog/static/146854834201282039334/   php curl模拟登录

参考:http://blog.csdn.net/mingzepeng/article/details/6505955   目前最全的PHP模拟登录函数curl中文详解

$login_url = 'XXX';

$post_fields['email'] = 'XXXX';
$post_fields['password'] = 'XXXX';
$post_fields['origURL'] = 'XXX';
$post_fields['domain'] = 'xxx.com';
//cookie文件存放在网站根目录的temp文件夹下
$cookie_file = tempnam('./temp','cookie');

$ch = curl_init($login_url);// 初始化一个的curl对话

curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5');//为一个的curl设置对话参数

CURLOPT_USERAGENT
在HTTP请求中包含一个的”user-agent”头的char串。
 

curl_setopt($ch, CURLOPT_HEADER, 0);

CURLOPT_HEADER为false,则应用CURL_TIMECOND_ISUNMODSINCE,默认 value为 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

在启用CURLOPT_RETURNTRANSFER时间将获取数据返回
curl_setopt($ch, CURLOPT_MAXREDIRS, 1);

CURLOPT_MAXREDIRS
指定最多的HTTP重定向的数量,那个选项是和CURLOPT_FOLLOWLOCATION一起应用的。
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
启用时会将服务器服务器返回的“Location:”放在header中递归的返回给服务器,应用CURLOPT_MAXREDIRS没成绩限定递归返回的数量。
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
自动设置header中的referer消息
curl_setopt($ch, CURLOPT_POST, 1);
启用时会发送一个的常规的POST请求,类别为:application/x-www-form-urlencoded,就像表单提交的相同。
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);
在HTTP中的“POST”操作。假如要传送一个的文档,需求一个的@开头的文档名
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
连接关闭以后,存放cookie消息的文档名称

curl_exec($ch);
curl_close($ch);

//带上cookie文件,访问人人网首页
$send_url='xxx.com';
$ch = curl_init($send_url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
$contents = curl_exec($ch);
curl_close($ch);

//清理cookie文件
unlink($cookie_file);

//输出网页内容
print_r($contents);

最新文章

  1. Web之路笔记之二 - CSS Positioning
  2. SDUT 2623:The number of steps
  3. Android 4.4KitKat AudioRecord 流程分析
  4. HTML5画布Canvas
  5. nodejs7.0 试用 async await
  6. AWS IAM (Identity and Access Management) 使用笔记
  7. Spring MVC学习总结。
  8. 【转】iOS6中的Auto Layout:通过代码添加约束
  9. JS--回到顶部代码
  10. 如何用EXCEL表计算今天是本年的第几周?
  11. linux系统的性能问题排除分析
  12. spring boot / cloud (十二) 异常统一处理进阶
  13. 我眼中的Linux设备树(一 概述)
  14. 屏蔽登录QQ后总是弹出的QQ网吧页面
  15. [日常]nginx与网络事件模型
  16. java jdk 配置
  17. Pandas三个数据结构
  18. Web.config Transformation Syntax for Web Application Project Deployment
  19. DataGridView如何绑定DataRow对象集合
  20. [解决思路]ORA-01078: failure in processing system parameters LRM-00109: could not open parameter file

热门文章

  1. HDU 2891
  2. poj1088 滑雪 解题报告
  3. Scrapy-redis改造scrapy实现分布式多进程爬取
  4. bzoj2662
  5. easyui 定义的右键菜单 在 浏览器中 失效.
  6. 使用 Git & Repo 下载代码
  7. SWIFT推送之本地推送(UILocalNotification)之二带按钮的消息
  8. PHP中redis的使用
  9. Android Studio中设置提示函数用法
  10. matrix-gui-browser-2.0 matrix-browser Qt QWebView hacking