码迷,mamicode.com
首页 > Web开发 > 详细

小蚂蚁学cURL笔记(1)——cURL模拟登陆其他网站以及下载个人中心

时间:2015-09-15 11:14:52      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:

登陆第三方网站必须要做的一步就是保存cookie,这样才能登陆第三方网站。cookie是用于保存网站登陆信息的工具和媒介,先要将cookie保存才能做后续开发。

<?php
    //准备登陆的字段和值
    $data="username=abc&password=123&remember=1";
    //初始化curl
    $curlobj=curl_init();
    //准备登陆页的url,就给慕课做个广告吧O(∩_∩)O哈哈~
    curl_setopt($curlobj,CURLOPT_URL,);
    //执行程序之后不打印网页
    curl_setopt($curlobj,CURLOPT_RETURNTRANSFER,1);
    
    //准备cookie的设置
    //因为session、cookie有过期时间,所以需要设置时间
    date_default_timezone_set(‘PRC‘);
    //开启cookie设置
    curl_setopt($curlobj,CURLOPT_COOKIESESSION,1);
    //设置将cookie数据保存的文件名
    curl_setopt($curlobj,CURLOPT_COOKIEFILE,‘cookiefile‘);
    //连接结束后保存cookie信息的文件
    curl_setopt($curlobj,CURLOPT_COOKIEJAR,‘cookiefile‘);
    //设置cookie的值
    curl_setopt($curlobj,CURLOPT_COOKIE,session_name().‘=‘.session_id);
    //不打印出头部信息
    curl_setopt($curlobj,CURLOPT_HEADER,0);
    //支持登陆成功后的页面跳转
    curl_setopt($curlobj,CURLOPT_FOLLOWLOCATION,1);
    
    //设施post提交的方法
    //开启post提交
    curl_setopt($curlobj,CURLOPT_POST,1);
    //设置post的提交参数
    curl_setopt($curlobj,CURLOPT_POSTFIELDS,$data);
    //设置头字段数组
    curl_setopt($curlobj,CURLOPT_HTTPHEADER,array(
        "application/x-www-form-urlencoded;charset=utf-8",
        "content-length:".strlen($data)
    ));
    //提交获取cookie
    curl_exec($curlobj);
    
    //设置个人中心的url
    curl_setopt($curlobj,CURLOPT_URL,);
    //关闭post提交设置
    curl_setopt($curlobj,CURLOPT_POST,0);
    //设置http头字段的数组
    curl_setopt($curlobj,CURLOPT_HTTPHEADER,array(
        "content-type:text/xml"
    ));    
    //开始执行
    $str=curl_exec($curlobj);
    //关闭curl
    curl_close();
    //输出
    echo $str;  
?>

整个流程就走完了,其中模拟用户登录最关键的就是cookie的设置,以及post提交的设置。这两部分非常关键。

小蚂蚁学cURL笔记(1)——cURL模拟登陆其他网站以及下载个人中心

标签:

原文地址:http://my.oschina.net/woshixiaomayi/blog/506139

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!