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)使 ...
随机推荐
- python中的popitem
popitem()随机删除字典中的任意键值对,并返回到元组中 1 a = { 2 "name":"dlrb", 3 "age":25, 4 ...
- Ignoring query to other database
Ignoring query to other database 自己今天刚遇到,进入MySQL的时候,输入show databases; 产生如下错误 错误提示 Ignoring query to ...
- 对比各节点host 与 标准节点host差异脚本
把各节点host拷贝到一台节点 这可以采用读主机名配置的方式 我这里偷懒了 echo 'starting' ssh hadoop01 "cp /etc/hosts ~/hadoop01-ho ...
- 1. 在config.ini文件中加入dm.park.time=1,会使uap中的tomcat启动加快
在config.ini文件中加入dm.park.time=1,会使uap中的tomcat启动加快
- 汉诺塔问题python
count = 0def hanoi(n,src,mid,dst): global count if n == 1: print("{}:{}->{}".format(1,s ...
- node.js 爬虫案例
本案例是爬的一部小说,爬取并存在本地 使用了动态浏览器头部信息,和 动态ip代理, 这2个方式可以有效的伪装自己,不至于被反爬,然后拉黑,之前已有记录,浏览器头部信息,也记录的有, app.js im ...
- elasticsearch-java异常
1. Unsupported major.minor version 52.0 java的jdk版本过低导致,需要更换为jdk1.8+ 2. elasticsearch 的version在pom中提示 ...
- [PHP]快速实现:将二维数组转为一维数组
如何将下面的二维数组转为一维数组. $msg = array( array( 'id'=>'45', 'name'=>'jack' ), array( 'id'=>'34', 'na ...
- postmessage/cors跨域postMessage、xhr2和xmldomain
一.h5 postMessage node http-server配置服务器 有关配置:请参考我的http://www.cnblogs.com/leee/p/5502727.html 我把文件夹a配置 ...
- Delphi 透明窗体显示文字
设置窗体属性:BorderStyle 属性设置为 bsNoneColor 属性设置为 clWhite(白色:窗体背景色)TransparentColor 属性设置为 trueTransparentCo ...