AD

PHP读取CURL模拟登录时生成Cookie文件的方法

这篇文章主要介绍了PHP读取CURL模拟登录时生成Cookie文件的方法,包括了curl的使用及cookie的操作,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了PHP读取CURL模拟登录时生成Cookie文件的方法。分享给大家供大家参考。具体实现方法如下:

在使用PHP中的CURL模拟登录时会保存一个Cookie文件,例如下面的代码

$login_url = 'XXX';  

$post_fields['email'] = 'XXXX';  

$post_fields['password'] = 'XXXX';  

$post_fields['origURL'] = 'XXX';  

$post_fields['domain'] = '****';  

//cookie文件存放在网站根目录的temp文件夹下  

$cookie_file = tempnam('./temp','cookie');  

$ch = curl_init($login_url);  

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_setopt($ch, CURLOPT_HEADER, 0);  

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  

curl_setopt($ch, CURLOPT_MAXREDIRS, 1);  

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);  

curl_setopt($ch, CURLOPT_AUTOREFERER, 1);  

curl_setopt($ch, CURLOPT_POST, 1);  

curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);  

curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);  

curl_exec($ch);  

curl_close($ch);  

//带上cookie文件,访问需要访问的页面  

$send_url='****';  

$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);

在temp文件夹下保存一个cookie前缀的临时文件,例如:coo3A98.tmp文件
打开这个文件得到如下代码:

PHP读取CURL模拟登录时生成Cookie文件的方法

要使用php来格式化该文件,使用以下代码就能实现

复制代码 代码如下:

<?php   

$cookie_folder = dirname(__FILE__)."/temp";  

$lines = file($cookie_folder.'/coo3A98.tmp');  

$trows = '';  

foreach($lines as $line) {  

    if($line[0] != '#' && substr_count($line, "\t") == 6) {  

        $tokens = explode("\t", $line);  

        $tokens = array_map('trim', $tokens);  

        $tokens[4] = date('Y-m-d h:i:s', $tokens[4]);  

        $trows .= '<tr><td>' . implode('</td><td>', $tokens) . '</td></tr>' . PHP_EOL;  

    }  

}  

echo '<table>'.PHP_EOL.'<tbody>'.PHP_EOL.$trows.'</tbody>'.PHP_EOL.'</table>';  

?>

运行之后就如下图所示,已经被写入到table当中

PHP读取CURL模拟登录时生成Cookie文件的方法

大功告成,如果只读取其中字段可自行修改即可。

希望本文所述对大家的PHP程序设计有所帮助。

标签: PHP, curl, Cookie
分类: php技巧
时间: 2014-04-17

相关文章

  1. PHP中使用CURL模拟登录并获取数据实例

    这篇文章主要介绍了PHP中使用CURL模拟登录并获取数据实例,登录成功后获取个人头像并输出显示,需要的朋友可以参考下 cURL 是一个功能强大的PHP库,使用PHP的cURL库可以简单和有效地抓取网页并采集内容,设置co ...
  2. php使用curl模拟登录后采集页面的例子

    php使用curl模拟登录后采集页面的例子,附带php curl模块的开启办法. 今天接到的功课是从一个网站获取商品库存,但是这个网站需要登录,我用fsockopen传递了整个header头都没用,只能求助于curl了. ...
  3. PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发

    PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发,需要的朋友可以参考下. /** * CURL请求 * @param String $url 请求地址 * @param Array $data ...
  4. python读取html中指定元素生成excle文件示例

    这篇文章主要介绍了python读取html中指定元素生成excle文件示例,需要的朋友可以参考下 Python2.7编写的读取html中指定元素,并生成excle文件 #coding=gbk import string ...
  5. PHP中实现生成静态文件的方法缓解服务器压力

    使用生成静态文件的方法解决服务器与数据库访问压力,下面有个不错的教程,感兴趣的朋友可以参考下 互联网快速普及的现在社会,越来越多的人会在一个web应用上进行交流,因而导致服务器与数据库访问压力与日俱增,这边就需要进行一些 ...
  6. PHP实现HTML生成PDF文件的方法

    这篇文章主要介绍了PHP实现HTML生成PDF文件的方法,可实现linux中利用HTML2FPDF与wkhtmltoimage把网页html直接生成pdf格式的文件,需要的朋友可以参考下 本文实例讲述了在linux中利用 ...
  7. Python生成pdf文件的方法

    这篇文章主要介绍了Python生成pdf文件的方法,比较实用的功能,需要的朋友可以参考下 本文实例演示了Python生成pdf文件的方法,是比较实用的功能,主要包含2个文件.具体实现方法如下: pdf.py文件如下: # ...
  8. C#导出生成excel文件的方法小结(xml,html方式)

    C#导出生成excel文件的方法小结(xml,html方式).需要的朋友可以过来参考下,希望对大家有所帮助 直接贴上代码,里面都有注释 /// <summary> /// xml格式生成excel文件并存盘; ...
  9. 最有效的php生成pdf文件的方法,html转pdf文件方法

    之前有个客户需要把一些html页面生成pdf文件,然后我就找一些用php把html页面围成pdf文件的类.方法是可谓是找了很多很多,什么html2pdf,pdflib,FPDF这些都试过了,但是都没有达到我要的求. pd ...
  10. PHP生成UTF8文件的方法

    先用函数utf8_encode将所需写入的数据变成UTF编码格式. <?php $f=fopen("test.txt", "wb"); $text=utf8_encode(& ...
  11. linux curl模拟登录网页

    有时在批量抓取网站页面内容时,是需要处于登录状态的,否则无法获取.curl这个强大的工具可以完成这个工作.之前最好也先了解一下http POST方法,网站登录大都是用这个办法. 本文基本上参考这篇文章,来自依云's Bl ...
  12. jsp读取大对象CLOB并生成xml文件示例

    <%@ page contentType="text/html; charset=gb2312" %> <%@ page info="database handler&qu ...
  13. Windows远程登录时共享本地硬盘的方法介绍

    Windows远程登录我想大家都用过.但是如果在远程登录的时候需要拷贝远程电脑上的文件或文件夹改怎么办呢?在知道下面这个小窍门之前,我是这样做的: 1. 远程登录 2. 在远程的电脑上创建共享文件夹 3. 在本地的电脑上 ...
  14. 手动把asp.net的类生成dll文件的方法

    当我们在开发的时候,有时会将一些方法封装起来供别人调用,下面就是一种生成DLL的方法. 开始->程序->Microsoft Visual Studio 2005->Visual Studio Tools ...
  15. .net自带的库生成zip文件的方法

    平时我们创建Zip文件的时候,要么用现成的软件,要么用第三方的开源库.其实用.net自带的类操作起来也非常方便 以下用一个例子来展示: 创建一个文件夹,里面可以包含任意的子目录. 创建一个控制台项目,添加一个类ZipMa ...
  16. Python爬虫实战五之模拟登录淘宝并获取所有订单

    经过多次尝试,模拟登录淘宝终于成功了,实在是不容易,淘宝的登录加密和验证太复杂了,煞费苦心,在此写出来和大家一起分享,希望大家支持. 本篇内容 1. python模拟登录淘宝网页 2. 获取登录用户的所有订单详情 3. ...
  17. Asp.net生成Excel文件并下载(更新:解决使用迅雷下载页面而不是文件的问题)

    Asp.net生成Excel文件并下载(更新:解决使用迅雷下载页面而不是文件的问题) 这里采用的是在服务端先生成Excel文件,然后利用文件地址下载的方法. 生成Excel文件的方法,见:[原].Net创建Excel文件 ...
  18. Java生成CSV文件实例详解

    这篇文章主要介绍了Java生成CSV文件的方法,很实用的功能,需要的朋友可以参考下 本文实例主要讲述了Java生成CSV文件的方法,具体实现步骤如下: 1.新建CSVUtils.java文件: package com.s ...
  19. .NET Reactor生成许可文件图解

    .NET Reactor是一款支持.NET混编语言程序的代码保护以及许可授权管理系统.因其功能强大,应用灵活且能与VS集成等优点,倍受开发人员喜爱. 现在就.NET Reactor授权管理中两种生成许可文件的方法进行讲解 ...