php模拟登陆的实现方法分析_php技巧

本文实例分析了php模拟登陆的实现方法。分享给大家供大家参考。具体分析如下:

php模拟登陆的实现方法,这里分别列举两种方法实现模拟登陆人人网。具体实例代码如下:

1)使用snoopy模拟登陆:

复制代码 代码如下:

<?php
set_time_limit(0);
require "Snoopy.class.php";
$snoopy=new Snoopy();
$snoopy->referer='http://www.jb51.net/';
$snoopy->agent="Mozilla/5.0 (Windows NT 6.1; rv:22.0) Gecko/20100101 Firefox/22.0";
$submit_vars['email'] ='登陆账号';
$submit_vars['password'] ='登陆密码';
$url='http://www.jb51.net/test/Login.php';//登陆数据提交的URL地址
$snoopy->submit($url,$submit_vars);
$snoopy->fetch("http://www.jb51.net/");//希望获取的页面数据
echo $snoopy->results;//m.jb51.net

2)使用curl模拟登陆:

复制代码 代码如下:

<?php
set_time_limit(0);
$cookie_file=tempnam('./tmp','cookie');//tmp目录需要先建立好
$ch=curl_init();
$login_url='http://www.jb51.net/PLogin.do';
$curlPost="email=登陆账号&password=登陆密码";
curl_setopt($ch,CURLOPT_URL,$login_url);
//启用时会将头文件的信息作为数据流输出
curl_setopt($ch,CURLOPT_HEADER,0); //设定是否输出页面内容
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_POST,1); //设置请求发送方式,post或get,CURLOPT_POST或CURLOPT_GET
curl_setopt($ch,CURLOPT_POSTFIELDS,$curlPost);
curl_setopt($ch,CURLOPT_COOKIEJAR,$cookie_file); //保存cookie
curl_exec($ch);
curl_close($ch);
$ch=curl_init();
$login_url2="http://www.jb51.net/";
curl_setopt($ch,CURLOPT_URL,$login_url2);
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,0);
curl_setopt($ch,CURLOPT_COOKIEFILE,$cookie_file); //读取cookie
curl_exec($ch);
curl_close($ch);

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

时间: 2025-01-23 12:17:39

php模拟登陆的实现方法分析_php技巧的相关文章

php模拟登陆的实现方法分析

 这篇文章主要介绍了php模拟登陆的实现方法,实例分析了snoopy与curl两种实现方法,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例分析了php模拟登陆的实现方法.分享给大家供大家参考.具体分析如下: php模拟登陆的实现方法,这里分别列举两种方法实现模拟登陆人人网.具体实例代码如下: 1)使用snoopy模拟登陆: 代码如下: <?php set_time_limit(0); require "Snoopy.class.php"; $snoopy=new S

php集成安装包wampserver修改密码后phpmyadmin无法登陆的解决方法[原创]_php技巧

本文分析了php集成安装包wampserver修改密码后phpmyadmin无法登陆的解决方法,分享给大家供大家参考,具体如下: 一.问题: 今天重装了本机php开发环境,使用了WampServer2.1a-x32集成安装包(之前使用的是appserv-win32-2.5.9集成安装包).顺便安装多版本php运行环境. 安装过程这里不再赘述.(此处wampserver安装在C盘根目录下)安装完毕后因为默认安装没有设置mysql密码,这里就修改了一下mysql密码(具体方法可参考前面的文章<如何修

关于PHP文件的自动运行方法分析_php技巧

本文实例分析了PHP文件的自动运行方法.分享给大家供大家参考,具体如下: 这里分析两种方法: 第一种方法: a.php文件内容 如下: <?php ini_set("error_log", "c:\php\php_error.log"); error_log("a.php is execute----------",0); ignore_user_abort(); // 后台无阻断运行 set_time_limit(0); // 一直给我运

php禁用cookie后session设置方法分析_php技巧

本文实例讲述了php禁用cookie后session设置方法.分享给大家供大家参考,具体如下: 我们都知道当在session 会话有基于cookie和基于url两种传递SESSIONID的方法.为了实现客户端禁止cookie发送的情况也不影响客户登陆网站,可以设置 php.ini中 session.use_trans_sid=1 ,表示当客户端浏览器禁止cookie的时候,页面上的链接会基于url传递SESSIONID.但是很多人仅仅设置了这一个选项并没有达到效果,本人也 遇到此问题,后来一番研

PHP利用hash冲突漏洞进行DDoS攻击的方法分析_php技巧

本文实例分析了PHP利用hash冲突漏洞进行DDoS攻击的方法.分享给大家供大家参考.具体分析如下: 首先声明:本文内容只用于研究学习使用,请勿用于非法行为! 前面提到过最近爆出的hash表碰撞漏洞,包括java.python.php等在内的很多常用语言均未幸免,今晚咱就来实际看看它的威力. 攻击原理: 通过向目标服务器post一组精心拼凑的数组参数,到达服务端后语言底层处理接收到的数组参数时,由于该漏洞的存在造成CPU的大量消耗,最终导致服务器资源耗尽. 不用什么花哨的手法,就用PHP简单实现

php通过记录IP来防止表单重复提交方法分析_php技巧

本文实例分析了php通过记录IP来防止表单重复提交方法.分享给大家供大家参考.具体分析如下: 这个原理比较的简单就是用户第一次提交时我们记录提交用户的IP地址,这样如果用户在固定时间内再次提交表单就会提示重复提交了,这种做法通常用于在顶一下,支持一下这种应用中了,在防止数据重复提交是一个非常不好的选择. 例子,代码如下: 复制代码 代码如下: <?php session_start(); if(empty($_SESSION['ip']))//第一次写入操作,判断是否记录了IP地址,以此知道是否

php文件下载处理方法分析_php技巧

本文实例讲述了php文件下载的处理方法.分享给大家供大家参考.具体分析如下: php能够处理多种条件的文件下载,先来看下面示例: <?php header("Content-Type: application/force-download"); header("Content-Disposition: attachment; filename=testname.jpg"); readfile("images/test.jpg"); ?>

php清除和销毁session的方法分析_php技巧

本文实例分析了php清除和销毁session的方法.分享给大家供大家参考.具体分析如下: 下面的代码分别用户删除单个session值和全部session unset() 用于释放一个已经存在的session值.可以使用 session_destroy() 函数销毁全部session. <?php unset($_SESSION['views']); ?> 销毁全部session <?php Session_start(); //... session_destroy(); ?> 希

php中foreach结合curl实现多线程的方法分析_php技巧

本文实例讲述了php中foreach结合curl实现多线程的方法.分享给大家供大家参考,具体如下: 多线程是php不支持的但我们可以通过foreach来伪多线程了,但这个伪多线程速度不一定比单线程要单到哪里去了,具体来看个例子. 在利用foreach语句循环图片URL,并通过CURL将所有图片进行本地保存的函数时,出现了只能采集到一个的问题,现将foreach和CURL结合进行多URL请求的方法进行下总结. 方法1:循环请求 $sr=array(url_1,url_2,url_3); forea