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)使 ...
随机推荐
- .Net MVC 获取Response和Request对象
通过 System.Web.HttpContext.Current 获取 public static string ConstractExportExcel(List<ERP_Contrac ...
- Dubbo(2)--Dubbo常用配置文件解析及核心源码阅读
1.多版本支持 服务端 创建第二个接口实现类 package com.lf; public class HelloImpl2 implements IHello{ @Override public S ...
- 转载 :实例详解Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化(一)
在数据库有外键的时候,使用 select_related() 和 prefetch_related() 可以很好的减少数据库请求的次数,从而提高性能.本文通过一个简单的例子详解这两个函数的作用.虽然Q ...
- WIN10下VS CODE 更新后拓展宿主意外终止问题解决方法(每次系统更新都要删除一次git)
S CODE最近更新后,一打开就会出现拓展宿主意外终止的错误,点重新加载等都不好用. 出现这个问题主要是和git有关,做如下操作处理就好: 打开vscode安装文件夹->resource文件夹- ...
- leetcode987
public class Solution { private Dictionary<int, List<KeyValuePair<int,int>>> dic = ...
- JedisCluster操作redis集群
1.pom引入依赖 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis< ...
- JSONArray
action层 js alert(result); result返回的是[{"countryId":"","id":"1&qu ...
- linux 3.10 gro的理解和改进
gro,将同一个flow的一定时间范围之内的skb进行合并,减少协议栈的消耗,用于收包性能提升.gro网上的资料很多,但是都很少谈到gro的改进,刚好身边有个同事也想改这块的内容, 所以将最近看的gr ...
- 免費查看SQL PLAN的工具 - SQL Sentry Plan Explorer
今天 Terry大 介紹給小弟這個 SQL Sentry Plan Explorer 工具,可以用來看SQL Plan. 什麼? 用SSMS看不就很清楚了嗎? 這個Tool有把SQL Plan幫我們整 ...
- [CI]CodeIgniter系统流程
---------------------------------------------------------------------------------------------------- ...