PHP实现curl和snoopy类模拟登陆方法
Snoopy.class.php下载
方法/步骤
第一种:使用snoopy类实现模拟登陆
1.在网上下载一个Snoopy.class.php的文件
2.代码实现:
<?php set_time_limit(0); require "Snoopy.class.php"; $snoopy=new Snoopy(); $snoopy->referer='你要模拟登陆的域名';//例如:http://www.baidu.com/ $snoopy->agent="定义浏览器根"; $post['username'] ='登陆账号';//根据你要模拟登陆的网站具体的传值 名称来定 $post['password'] ='登陆密码';//根据你要模拟登陆的网站具体的传值 名称来定 $url='你要模拟登陆的域名,数据提交地址';//登陆数据提交的URL地址 $snoopy->submit($url,$post); $snoopy->fetch("你要模拟登陆的域名");//希望获取的页面数据 echo $snoopy->results;//输出结果,登陆成功
第二种:使用curl函数模拟登陆
1.代码实现:储存COOKIE
<?php set_time_limit(0); $cookie_file=tempnam('./tmp','cookie');//tmp目录首先创建好,设置COOKIE文件 $curl=curl_init(); $login_url='你要模拟登陆的域名,数据提交地址'; $curlPost="usename=登陆账号&password=登陆密码";//根据你要模拟登陆的网站具体的传值 名称来定 curl_setopt($ch,CURLOPT_URL,$login_url); //启用时会将头文件的信息作为数据流输出 curl_setopt($curl,CURLOPT_HEADER,0); //设定是否输出页面内容 curl_setopt($curl,CURLOPT_RETURNTRANSFER,1); curl_setopt($curl,CURLOPT_POST,1); //设置请求发送方式,post或get,CURLOPT_POST或CURLOPT_GET curl_setopt($curl,CURLOPT_POSTFIELDS,$curlPost); curl_setopt($curl,CURLOPT_COOKIEJAR,$cookie_file); //保存cookie curl_exec($curl);//执行 curl_close($curl);//关闭
//2.实现模拟登陆
$curl=curl_init(); $login_url2="你要模拟登陆的域名"; curl_setopt($curl,CURLOPT_URL,$login_url2);//提交登陆的url curl_setopt($curl,CURLOPT_HEADER,0); curl_setopt($curl,CURLOPT_RETURNTRANSFER,0); curl_setopt($curl,CURLOPT_COOKIEFILE,$cookie_file); //读取cookie curl_exec($curl);//执行 curl_close($curl);//关闭
PHP实现curl和snoopy类模拟登陆方法的更多相关文章
- 使用JDBC工具类模拟登陆验证-Java(新手)
模拟登陆验证: package JdbcDome; import java.sql.Connection; import java.sql.PreparedStatement; import java ...
- PHP 之 CURL 模拟登陆并获取数据
1.CURL模拟登陆的流程和步骤 2.tempnam 创建一个临时文件 3.使用CURL模拟登陆到PHP100论坛 <?php $cookie_file = tempnam('./temp',' ...
- php 的curl 模拟登陆
做一个类似这样的web 应用. 1,解决掉验证码 其实这是正方的一个小bug,当我们进入登陆界面时,浏览器会去请求服务器,服务器会生成一个验证码图片.如果我们不去请求这个图片,那么正方后台也不会生成相 ...
- 【转】PHP 之 CURL 模拟登陆并获取数据
1.CURL模拟登陆的流程和步骤2.tempnam 创建一个临时文件3.使用CURL模拟登陆到PHP100论坛 <?php$cookie_file = tempnam('./temp','coo ...
- PHP中CURL技术模拟登陆抓取网站信息,用与微信公众平台成绩查询
伴随微信的红火,微信公众平台成为许多开发者的下一个目标.笔者本身对于这种新鲜事物没有如此多的吸引力.但是最近有朋友帮忙开发微信公众平台中一个成绩查询的功能.于是便在空余时间研究了一番. 主要的实现步骤 ...
- php中CURL技术模拟登陆抓取数据实战,抓取某校教务处学生成绩。
这两天有基友要php中curl抓取教务处成绩的源码,用于微信公众平台的开发.下面笔者只好忍痛割爱了.php中CURL技术模拟登陆抓取数据实战,抓取沈阳工学院教务处学生成绩. 首先,教务处登录需要验证码 ...
- PHP curl 模拟登陆
一个比较好的类: $cookie_file=tempnam("C:/users","tmp");生成以以tmp为前缀的文件. <?php define ( ...
- PHP curl 携带cookie请求抓取源码,模拟登陆。
公司需要采集一批手机号码,有指定网站.但是需要登陆后才能看到客户号码,手动点击复制太慢,如此就写了以下模拟登陆采集号码程序,分享给大家参考参考. function request_url_data($ ...
- php模拟登陆的两种实现方法分析
php模拟登陆的实现方法分析 本文实例分析了php模拟登陆的实现方法.分享给大家供大家参考.具体分析如下: php模拟登陆的实现方法,这里分别列举两种方法实现模拟登陆人人网.具体实例代码如下: 1)使 ...
随机推荐
- 57.1拓展之纯 CSS 创作黑暗中的眼睛和嘴巴
效果地址:https://scrimba.com/c/cJ8NPpU2 HTML code: <div class="eyes"> <span class=&qu ...
- python学习笔记_week7
一.面向对象编程进阶 静态方法只是名义上归类管理,实际上在静态方法里访问不了类或实例中的任何属性 class Dog(object): def __init__(self,name): self.na ...
- GIFDecoder源码分析
源码见:ddxxll2008/gifdecoder_java run() public void run(){ if(in != null){ readStream(); }else if(gifDa ...
- twisted的DelayedCall
>>> l=[,,,,] >>> del l[:]#只是删除列表的部分元素,列表仍然存在 >>> l [, ] #reactor循环执行的函数de ...
- MySQL把一个大表拆分多个表后,如何解决跨表查询效率问题
大表分表后每个表的结构相同,可以用sql的union 比如a,b表结构相同可以通过union来联接 select * from aunion allselect * from bwhere.... 其 ...
- 线程池构造类 ThreadPoolExecutor 的 5 个参数
1.corePoolSize :核心线程数 2.maxPoolSize: 最大线程数 3.keepAliveTime :闲置线程存活时间 4.unit:参数keepAliveTime的时间单位,有7种 ...
- day24-抽象类与接口类
接口类 1.继承有两种用途:一:继承基类的方法,并且做出自己的改变或者扩展(代码重用) 二:声明某个子类兼容于某基类,定义一个接口类,接口类中定义了一些接口名(就是函数名)且并未实现接口的功能,子类继 ...
- svn2
ubuntu下安装subversion客户端: sudo apt-get install subversion subversion-tools 详细请看 http://www.subversion. ...
- db连接驱动
1.oracle 驱动jar包-->ojdbc6.jar 驱动类-->oracle.jdbc.driver.OracleDriver 驱动连接--> 第一种:jdbc:oracle: ...
- C++复习:STL之算法
算法 1算法基础 1.1算法概述 算法部分主要由头文件<algorithm>,<numeric>和<functional>组成. <algorithm> ...