用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - php代码库

curl模拟请求,每次访问自动记录新cookie

2014-08-11 作者: 小蜜锋举报

[php]代码库

            $ch = curl_init($url);
            $cookiefile = tempnam("/tmp","cookies"); // 创建一个用于存放cookie信息的临时文件,也是最关键的一个

            curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); // 返回结果存放在变量中,而不是默认的直接输出
            curl_setopt($ch,CURLOPT_HEADER,true);
            curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,120);
            curl_setopt($ch,CURLOPT_REFERER,REFFER_URL);

            $fields_post = array(
                'username' => $user,
                'subButton' => 'Submit',
                'password' => $user,
                'encoded' => 'true'
            ); // 根据抓包得到的POST或Get字段,填充这些相应的数据

            $headers_login = array(
                'User-Agent' => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/2008052906 Firefox/3.0',
                'Referer' => REFFER_URL
            ); // 设置HTTP请求头信息

            $fields_string = '';
            foreach($fields_post as $key => $value){
                $fields_string .= $key . '=' . $value . '&';
            }

            $fields_string = rtrim($fields_string,'&');

            curl_setopt($ch,CURLOPT_COOKIESESSION,true);

            curl_setopt($ch,CURLOPT_COOKIEFILE,$cookiefile); // 关闭连接时,将服务器端返回的cookie保存在以下文件中
            curl_setopt($ch,CURLOPT_COOKIEJAR,$cookiefile);

            curl_setopt($ch,CURLOPT_USERAGENT,$headers_login['User-Agent']);
            curl_setopt($ch,CURLOPT_POST,1); // 以POST方式提交
            curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);

            $result = curl_exec($ch); // 保存输出的页面到$result中


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...